html和css的面试知识点总结(附示例)

本篇文章给大家带来的内容是关于htmlcss的面试知识点总结(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

CSS优先级算法

优先级就近原则,同权重情况下样式定义最近者为准
载入样式以最后载入的定位为准
优先级为: !important > id > class > tag important 比 内联优先级高
important声明比js的优先级要高

第一等:代表内联样式,如: style=””,权值为1000。第二等:代表ID选择器,如:#content,权值为0100。第三等:代表类,伪类和属性选择器,如.content,权值为0010。第四等:代表类型选择器和伪元素选择器,如p p,权值为0001。通配符、子选择器、相邻选择器等的。如*、>、+,权值为0000。继承的样式没有权值。

css定义的权重

/ 以下是权重的规则:标签的权重为1,class的权重为10,id的权重为100,以下/// 例子是演示各种定义的权重值:/*权重为1*/div{}/*权重为10*/.class1{}/*权重为100*/#id1{}/*权重为100+1=101*/#id1 div{}/*权重为10+1=11*/.class1 div{}/*权重为10+10+1=21*/.class1 .class2 div{}// 如果权重相同,则最后定义的样式会起作用,但是应该避免这种情况出现

CSS3新增伪类

立即学习“前端免费学习笔记(深入)”;

p:first-of-type 选择属于其父元素的首个

元素的每个

元素。
p:last-of-type  选择属于其父元素的最后

元素的每个

元素。
p:only-of-type  选择属于其父元素唯一的

元素的每个

元素。
p:only-child        选择属于其父元素的唯一子元素的每个

元素。
p:nth-child(2)  选择属于其父元素的第二个子元素的每个

元素。

:after          在元素之前添加内容,也可以用来做清除浮动。
:before         在元素之后添加内容
:enabled        
:disabled       控制表单控件的禁用状态。
:checked        单选框或复选框被选中

居中一个浮动元素

给div设置一个宽度,然后添加margin:0 auto属性div{    width:200px;    margin:0 auto; }//确定容器的宽高 宽500 高 300 的层//设置层的外边距 .div {      width:500px ; height:300px;//高度可以不设      margin: -150px 0 0 -250px;      position:relative;         //相对定位      background-color:pink;     //方便看效果      left:50%;      top:50%; }

让绝对定位的div居中

  position: absolute;  width: 1200px;  background: none;  margin: 0 auto;  top: 0;  left: 0;  bottom: 0;  right: 0;

CSS3有新特性

新增各种CSS选择器 (: not(.input):所有 class 不是“input”的节点)
圆角 (border-radius:8px)
多列布局 (multi-column layout)
阴影和反射 (ShadowReflect)
文字特效 (text-shadow、)
文字渲染 (Text-decoration)
线性渐变 (gradient)
旋转 (transform)
增加了旋转,缩放,定位,倾斜,动画,多背景
transform:scale(0.85,0.90) translate(0px,-30px) skew(-9deg,0deg)Animation:

新增选择器 p:nth-child(n){color: rgba(255, 0, 0, 0.75)}弹性盒模型 display: flex;多列布局 column-count: 5;媒体查询 @media (max-width: 480px) {.box: {column-count: 1;}}个性化字体 @font-face{font-family: BorderWeb; src:url(BORDERW0.eot);}颜色透明度 color: rgba(255, 0, 0, 0.75);圆角 border-radius: 5px;渐变 background:linear-gradient(red, green, blue);阴影 box-shadow:3px 3px 3px rgba(0, 64, 128, 0.3);倒影 box-reflect: below 2px;文字装饰 text-stroke-color: red;文字溢出 text-overflow:ellipsis;背景效果 background-size: 100px 100px;边框效果 border-image:url(bt_blue.png) 0 10;转换    旋转 transform: rotate(20deg);    倾斜 transform: skew(150deg, -10deg);    位移 transform: translate(20px, 20px);    缩放 transform: scale(.5);平滑过渡 transition: all .3s ease-in .1s;动画 @keyframes anim-1 {50% {border-radius: 50%;}} animation: anim-1 1s;

用纯CSS创建一个三角形

// 把上、左、右三条边隐藏掉(颜色设为 transparent)#demo {  width: 0;  height: 0;  border-width: 20px;  border-style: solid;  border-color: transparent transparent red transparent;}

浏览器的兼容性

png24位的图片在iE6浏览器上出现背景,解决方案是做成PNG8.

浏览器默认的margin和padding不同。解决方案是加一个全局的*{margin:0;padding:0;}来统一

IE下,可以使用获取常规属性的方法来获取自定义属性,也可以使用getAttribute()获取自定义属性;Firefox下,只能使用getAttribute()获取自定义属性。解决方法:统一通过getAttribute()获取自定义属性

IE下,even对象有x,y属性,但是没有pageX,pageY属性.Firefox下,event对象有pageX,pageY属性,但是没有x,y属性

BFC

块级格式化上下文(内部元素不会影响外部元素)

渲染规则:
1.bfc元素的垂直方向边距发生重叠
2.bfc区域不会与浮动元素重叠
3.独立容器
4.计算bfc高度时,浮动元素也会参与计算

创建bfc:
1.overflow
2.浮动不为none
3.position不是static
4.display与table有关

display:inline-block 什么时候会显示间隙

移除空格、使用margin负值、使用font-size:0、letter-spacing、word-spacing

清除浮动

.clearfix:after {  visibility: hidden;  display: block;  font-size: 0;  content: " ";  clear: both;  height: 0;}

1.可用a标签 设置display:inline-block;width:100%, 把含浮动元素的div撑起来(div不用设计高度)
2.overflow:hidden(BFC)
3.可用a标签 设置display:block;width:100%,clear:both
4.div=》display:table
5.div=》display:table-cell
6.div=》display:flow-root(触发BFC)
7.div::after代替a标签=》content:’’ display:block; clear:both;(最下方存在一个没有高度的元素)
8.使用.clearfix:after{content:’’ display:block; clear:both;}
9.让div也浮动(BFC)

盒子模型

盒子模型构成:内容(content)、内填充(padding)、 边框(border)、外边距(margin)
IE8及其以下版本浏览器,未声明 DOCTYPE,内容宽高会包含内填充和边框,称为怪异盒模型(IE盒模型)
标准(W3C)盒模型:元素宽度 = width + padding + border + margin
怪异(IE)盒模型:元素宽度 = width + margin
标准浏览器通过设置 css3 的 box-sizing: border-box 属性,触发“怪异模式”解析计算宽高

box-sizing: content-box; // 默认的标准(W3C)盒模型元素效果box-sizing: border-box; // 触发怪异(IE)盒模型元素的效果box-sizing: inherit; // 继承父元素 box-sizing 属性的值

继承

可以继承的样式:font-size、font-family、color、list-style、cursor不可继承的样式:width、height、border、padding、margin、background

隐藏元素的方法

visibility: hidden; 这个属性只是简单的隐藏某个元素,但是元素占用的空间任然存在opacity: 0; CSS3属性,设置0可以使一个元素完全透明position: absolute; 设置一个很大的 left 负值定位,使元素定位在可见区域之外display: none; 元素会变得不可见,并且不会再占用文档的空间。transform: scale(0); 将一个元素设置为缩放无限小,元素将不可见,元素原来所在的位置将被保留

rgba() 和 opacity

opacity 作用于元素以及元素内的所有内容(包括文字)的透明度rgba() 只作用于元素自身的颜色或其背景色,子元素不会继承透明效果

## 浏览器的JS兼容性 ##

当前样式:getComputedStyle(el, null) VS el.currentStyle事件对象:e VS window.event鼠标坐标:e.pageX, e.pageY VS window.event.x, window.event.y按键码:e.which VS event.keyCode文本节点:el.textContent VS el.innerText

li与li之间有看不见的空白间隔

li排列受到中间空白(回车/空格)等的影响,因为空白也属于字符,会被应用样式占据空间,产生间隔
解决办法:在ul设置设置font-size=0,在li上设置需要的文字大小

px、em

px 相对于显示器屏幕分辨率,无法用浏览器字体放大功能
em 值并不是固定的,会继承父级的字体大小: em = 像素值 / 父级font-size

FOUC(Flash of Unstyled Content)

当使用 @import 导入 CSS 时,会导致某些页面在 IE 出现奇怪的现象: 没有样式的页面内容显示瞬间闪烁,这种现象称为“文档样式短暂失效”,简称为FOUC
产生原因:当样式表晚于结构性html加载时,加载到此样式表时,页面将停止之前的渲染。
等待此样式表被下载和解析后,再重新渲染页面,期间导致短暂的花屏现象。
解决方法:使用 link 标签将样式表放在文档 head

CSS优化、提高性能

多个css合并,尽量减少HTTP请求
将css文件放在页面最上面
移除空的css规则
避免使用CSS表达式
选择器优化嵌套,尽量避免层级过深
充分利用css继承属性,减少代码量
抽象提取公共样式,减少代码量
属性值为0时,不加单位
属性值为小于1的小数时,省略小数点前面的0
css雪碧图

全屏滚动

原理类似图片轮播原理,超出隐藏部分,滚动时显示
可能用到的CSS属性:overflow:hidden; transform:translate(100%, 100%); display:none;

响应式设计ie

$(window).resize(function () {  screenRespond();});screenRespond();function screenRespond(){var screenWidth = $(window).width();if(screenWidth <= 1800){  $("body").attr("class", "w1800");}if(screenWidth  1800){  $("body").attr("class", "");}}

a标签上四个伪类的执行顺序

link > visited > hover > active

Chrome支持小于12px 的文字

.shrink{    -webkit-transform:scale(0.8);    -o-transform:scale(1);    display:inline-block;  }

TCP传输的三次握手四次挥手策略

为了准确无误地把数据送达目标处,TCP协议采用了三次握手策略。用TCP协议把数据包送出去后,TCP不会对传送 后的情况置之不理,它一定会向对方确认是否成功送达。握手过程中使用了TCP的标志:SYN和ACK

发送端首先发送一个带SYN标志的数据包给对方。接收端收到后,回传一个带有SYN/ACK标志的数据包以示传达确认信息。 最后,发送端再回传一个带ACK标志的数据包,代表“握手”结束。 若在握手过程中某个阶段莫名中断,TCP协议会再次以相同的顺序发送相同的数据包

断开一个TCP连接则需要“四次握手”:

第一次挥手:主动关闭方发送一个FIN,用来关闭主动方到被动关闭方的数据传送,也就是主动关闭方告诉被动关闭方:我已经不 会再给你发数据了(当然,在fin包之前发送出去的数据,如果没有收到对应的ack确认报文,主动关闭方依然会重发这些数据),但是,此时主动关闭方还可 以接受数据。

第二次挥手:被动关闭方收到FIN包后,发送一个ACK给对方,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号)。

第三次挥手:被动关闭方发送一个FIN,用来关闭被动关闭方到主动关闭方的数据传送,也就是告诉主动关闭方,我的数据也发送完了,不会再给你发数据了。

第四次挥手:主动关闭方收到FIN后,发送一个ACK给被动关闭方,确认序号为收到序号+1,至此,完成四次挥手。

HTTP和HTTPS

HTTP协议通常承载于TCP协议之上,在HTTP和TCP之间添加一个安全协议层(SSL或TSL),这个时候,就成了我们常说的HTTPS
默认HTTP的端口号为80,HTTPS的端口号为443

HTTPS安全
因为网络请求需要中间有很多的服务器路由器的转发。中间的节点都可能篡改信息,而如果使用HTTPS,密钥在你和终点站才有。https之所以比http安全,是因为他利用ssl/tls协议传输。它包含证书,卸载,流量转发,负载均衡,页面适配,浏览器适配,refer传递等。保障了传输过程的安全性

GET和POST的区别,何时使用POST

GET:一般用于信息获取,使用URL传递参数,对所发送信息的数量也有限制,一般在2000个字符
POST:一般用于修改服务器上的资源,对所发送的信息没有限制。
GET方式需要使用Request.QueryString来取得变量的值,而POST方式通过Request.Form来获取变量的值,也就是说Get是通过地址栏来传值,而Post是通过提交表单来传值。
然而,在以下情况中,请使用 POST 请求:

无法使用缓存文件(更新服务器上的文件或数据库)

向服务器发送大量数据(POST 没有数据量限制)

发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠

以上就是html和css的面试知识点总结(附示例)的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1547176.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月21日 18:55:44
下一篇 2025年12月16日 09:52:01

相关推荐

  • HTML学习之html列表介绍(代码实例)

    本篇文章就给大家带来html学习之html列表介绍,通过简单的代码示例来介绍。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 一,效果图。 二,代码。 html 列表 An Unordered list Cofferr tea Mide Cooffee Tea Mike Coffe…

    2025年12月21日
    000
  • HTML是什么?HTML网页的简单设计方法介绍

    本篇文章给大家带来的内容是关于html是什么?html网页的简单设计方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 HTML简介 级文本标记语言是标准通用标记语言下的一个应用,也是一种规范,一种标准。 它通过标记符号来标记要显示的网页中的各个部分。网页文件本身是一种文本文件…

    好文分享 2025年12月21日
    000
  • HTML中文本标签,超链接标签以及图像标签的简单介绍

    本篇文章给大家带来的内容是关于html中文本标签,超链接标签以及图像标签的简单介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 文本标签 换行标签 — br是单标签,意味着它没有结束标签。起强制换行作用 段落中的文字段落中的文字段落中的文字 水平分割线 —…

    好文分享 2025年12月21日
    000
  • HTML中序列化标签的简单介绍(代码实例)

    本篇文章给大家带来的内容是关于html中序列化标签的简单介绍(代码实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 序列化标签 1.有序标签–ol和li 有序列表标签是 ,是一个双标签。在每一个列表项目前要使用标签。标签的形式是带有前后顺序之分的编号。如果添加或者删…

    2025年12月21日
    000
  • HTML中表格相关知识的介绍(代码实例)

    本篇文章给大家带来的内容是关于html中表格相关知识的介绍(代码实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 制作网页时,要合理规划网页布局。比如,在网页中添加一个表格,可分为上、中、下三部分,上部存放网页标题或LOGO图片,中间部分是整个网页的主体内容,底部就是相关制作信…

    2025年12月21日 好文分享
    000
  • HTML中表单的相关知识总结(代码实例)

    本篇文章给大家带来的内容是关于html中表单的相关知识总结(代码实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 当用户熟悉了静态网页制作后就能感受到它的功能单一,会想建立具有交互性的动态网站。动态网站经常用到的一个元素就是表单。表单是HTML的一个重要组成部分,是网站管理员与…

    2025年12月21日
    000
  • 利用HTML实现一个个人信息表的网页(代码实例)

    本篇文章给大家带来的内容是关于利用html实现一个个人信息网页(代码实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 对HTML标签的总结 1、学习的行内标签和 块级元素分别有哪些?行内标签:span, strong, a, img, input, textarea块级元素:p…

    2025年12月21日
    000
  • 如何制作一个简单的HTML登录页面(附代码)

    几乎每个网站都会有登录页面,那你知道如何写html登录页面吗?这篇文章就和大家分享一个html简单登录界面的代码,有一定的参考价值,感兴趣的朋友可以看看。 制作登录页面需要用到很多CSS属性和HTML标签,如有不清楚的同学可以看看我以前的文章,之前都有介绍过,或者访问CSS视频教程, HTML视频教…

    2025年12月21日
    000
  • 当 position:sticky 遇到 bootstrap 浮动布局时候的踩坑记录

    当第一次接触到 position:sticky 这个属性,我就意识到之前的不少 js 场景可以用这个 css 属性去改写。譬如 网站 右侧的不少广告,滚动上去后需要 fixed,完全就是 sticky 的应用啊。 今天要说的是 文章详情页 右侧的目录栏,当页面下滑的时候,它也会固定到页面顶部,之前是…

    好文分享 2025年12月21日
    000
  • 什么是HTML?一篇文章教你学会HTML

    随着html的快速发展,吸引了很多人学习前端,在学习前端之前我们一定要学习html,那么什么是html?本文章教你学会html。 一:什么是HTML html是这一种超文本标记语言,html也是比较简单的语言,并且可以用html标签组合成文字图片,字和图片的形成一个网页。 二:HTML基础 立即学习…

    2025年12月21日
    000
  • HTML中两个tabs导航冲突问题的解决方法

    这篇文章主要介绍了html中两个tabs导航冲突问题的解决方法,需要的朋友参考下吧 先来一个问题描述吧: 在同一个页面,两个tabs一个要float:left,一个要flaot:right,就产生了冲突; 原因:没有仔细定位到每个p里面的控件,使用了全局的定义导致了会一起变化; 后来一层层精确定位到…

    2025年12月21日 好文分享
    000
  • HTML如何在两个div标签中间画一条竖线

    最近项目经理交小编一个活儿,需要在界面当中画一条竖线,且这条竖线在高度上需要自动占满整个父p。在网上查了相关资料,最终搞定,下面小编给代价分享解决方法,需要的朋友参考下吧 近日在画一个界面的时候,遇到一个需求:在界面当中画一条竖线,且这条竖线在高度上需要自动占满整个父p(即这条竖线的高度和两个p中较…

    2025年12月21日
    000
  • HTML实现页面点击下载文件的两种实现方法

    这篇文章主要介绍了html页面点击下载文件的两种实现方法,需要的朋友可以参考下 1.使用标签来完成 点击下载 这样当用户打开浏览器点击链接的时候就会直接下载文件。 但是有个情况,比如txt,png,jpg等这些浏览器支持直接打开的文件是不会执行下载任务的,而是会直接打开文件,这个时候就需要给a标签添…

    好文分享 2025年12月21日
    000
  • html如何去掉超链接下划线?html超链接去掉下划线的方法介绍

    前端网页的开发中总是不可避免会使用到超链接,但是使用超链接时下面都会有一条下划线,这在网页中有时会显得很突兀,不合适也不美观,所以我们就需要将超链接下的这条下划线给去掉,接下来的这篇文章就来给大家介绍html下超链接去掉下划线的方法。有需要的朋友可以参考一下,话不多说,我们直接来看正文。 在html…

    2025年12月21日
    000
  • html如何给文本文字添加删除线?两种方法添加删除线(实例)

    相信大家在各大商场网站浏览时,总是会看到某个产品的原价标记是多少,再在原价上添加一个明显的删除线,表明现在做促销,现价又改成了多少,给用户一个直观的差距感,吸引用户购买!那么这样的删除线效果是如何添加到文本文字上的?本章就给大家介绍html给文本文字添加删除线的两种方法。有一定的参考价值,有需要的朋…

    2025年12月21日
    000
  • html如何给table表单加边框

    本章给大家介绍html如何给table表单加边框。有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 一般来说,给表格加边框都会出现不同的问题,以下是给表格加边框后展现比较好的方式 table,table tr th, table tr td { border:1px solid #00…

    2025年12月21日 好文分享
    000
  • 如何在HTML中引入外部页面(iframe标签法)

    在页面布局时,会将部分外部页面引入到html中,这篇文章就和大家讲讲如何在html中引入外部页面之iframe标签法。有需要的朋友可以参考一下,希望对你有用。 首先,最容易想到的应该是使用iframe,虽然html5废除了frame,但是依旧保留了iframe,我们仍可以继续使用,iframe有一个…

    好文分享 2025年12月21日
    000
  • 如何在HTML中引入外部页面(HTML imports法) 

    在页面布局时,会将部分外部页面引入到html中,这篇文章就和大家讲讲如何在html中引入外部页面之html imports法。有需要的朋友可以参考一下,希望对你有用。 HTML imports提供了一种在一个HTML文档中包含和重用另一个HTML文档的方法。目前谷歌已经全面支持HTML import…

    好文分享 2025年12月21日
    000
  • 图文详解HTML页面中添加图片的三种方法

    在页面布局时,经常需要在页面中插入图片,那你知道如何在html中添加图片吗?这篇文章就给大家介绍html页面中插入图片的三种方法,感兴趣的朋友可以参考一下,希望对你有所帮助。 方法一、用HTML中的img标签添加图片 最简单,最常用的就是直接使用img标签,并且可以根据需要设置图片的大小,代码如下:…

    2025年12月21日
    000
  • 详解html中 position属性用法(四种)

    这篇文章主要介绍了html中 position用法,文中逐一给大家介绍了position的四个属性值,感兴趣的朋友跟随小编一起看看吧 position的四个属性值: 1.relative2.absolute3.fixed4.static 下面分别讲述这四个属性。 sub1 sub2 1. relat…

    好文分享 2025年12月21日
    000

发表回复

登录后才能评论
关注微信