CSS面试总结

168 阅读1分钟

CSS一直用,但从未总结,面试有时候会问比较细的问题,总结一下 开头记录一下大厂对于前端工程师的要求: shopee:精通CSS,熟悉W3C标准

1、CSS3的选择器优先级、伪类选择器(例如选择某个列表的倒数两个li)

简单选择器(根据名称、id、类来选取元素) 组合器选择器(根据它们之间的特定关系来选取元素) 伪类选择器(根据特定状态选取元素) 伪元素选择器(选取元素的一部分并设置其样式) 属性选择器(根据属性或属性值来选取元素)

优先级:

优先级这个好说:!important>内联>id>class>标签选择器

同级别的后写的优先级高

举个例子:

    <style>
       #id1.class1{
           background-color:black;
       }
       
       #id1{
           background-color:red;
       }
   </style>
   
   <div class="class1" id="id1"></div>

div 是黑色还是红色呢?答案是黑色,详情见这篇文章: juejin.cn/post/684490… 注意一点,如果上述代码的 #id.class1 写成带空格的 #id .class1,那么div的背景颜色就会变成红色。 所以还要提到的就是CSS选择器 连写 空格 逗号这三者的区别

连写就是同时满足 空格代表父子关系 逗号代表并列关系

伪类选择器,比如选择倒数两个元素:

:ul li:last-child, ul li:nth-last-child(2)

position 定位

CSS div 盒模型

box-sizing:border-box

width/height = border + padding + 内容的宽度/高度

box-sizing:content-box

width/height = 内容的宽度/高度

CSS 边距重叠

边界重叠是指两个或多个盒子(可能相邻也可能嵌套)的相邻边界(其间没有任何非空内容、补白、边框)重合在一起而形成一个单一边界。