web前端面试之CSS盒子与选择器(码动未来)

web前端面试之CSS盒子与选择器(码动未来)

1.1.1、介绍一下标准的CSS的盒子模型?低版本IE的盒子模型有什么不同的?

(1)有两种, IE 盒子模型、W3C 盒子模型;

(2)盒模型: 内容(content)、填充(padding)、边界(margin)、 边框(border);

(3)区  别: IE的content部分把 border 和 padding计算了进去;


2.1.2、CSS选择符有哪些?哪些属性可以继承?

1.id选择器( # myid)

2.类选择器(.myclassname)

3.标签选择器(div, h1, p)

4.相邻选择器(h1 + p)

5.子选择器(ul > li)

6.后代选择器(li a)

7.通配符选择器( * )

8.属性选择器(a[rel = "external"])

9.伪类选择器(a:hover, li:nth-child)

可继承的样式:font-size font-family color, UL LI DL DD DT;

不可继承的样式:border padding margin width height ;


2.1.3、CSS优先级算法如何计算?

优先级就近原则,同权重情况下样式定义最近者为准;

载入样式以最后载入的定位为准;

优先级为:

   !important >  id > class > tag

important比 内联优先级高


2.1.4、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单选框或复选框被选中。

2.1.5、display:inline-block什么时候会显示间隙?(携程)

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


2.1.6、overflow: scroll时不能平滑滚动的问题怎么处理?

1、阻止所有能导致页面滚动的事件。//scroll不能阻止,只能阻止mousewheel,鼠标拽滚动条就悲剧了;

2、bodyoverflow:hidden//win下右侧滚动条会消失导致页面横移,移动端阻止不了;

3、把滚动部分单独放在一个div里,和弹出部分同级,body和window同高。//所有涉及offset/scrollTop的方法都要修改。fix并且width100%的元素(比如微博顶栏)会压在内容区滚动条上;

4、弹出时算scrollTop,给内容区fix然后top移动到目前位置,同时body给一个overflow-y:scroll强撑出滚动条。


2.1.7、有一个高度自适应的div,里面有两个div,一个高度100px,希望另一个填满剩下的高度。

1、如果外层div高度自适应于内部,就完全不需要额外写规则了,另外一个DIV绝对能撑高外层div,填得紧紧实实的。

2、如果是外层div自适应于它的父级,纯CSS的办法是有的。

3、absolute positioning

外层position: relative;

百分百自适应元素直接position: absolute; top: 100px; bottom: 0; left: 0

QQ技术交流群:815302226


web前端面试之CSS盒子与选择器(码动未来)_第1张图片

你可能感兴趣的:(web前端面试之CSS盒子与选择器(码动未来))