Open ihtml5 opened 7 years ago
作为一名前端工程师,页面布局能力是最基本能力。最近公司招聘前端,自己作为面试官,出了一些题,其中一道就是布局的题目:实现一个左侧定宽,右侧充满剩余屏幕的布局。
position有4个属性,分别为static,relative,absolute,fixed。
脱离文档流指的是元素的布局不再影响文档中的其他元素。
BFC(Block formatting context)直译为"块级格式化上下文"。它是一个独立的渲染区域,只有Block-level box参与, 它规定了内部的Block-level Box如何布局,并且与这个区域外部毫不相干。
使用那些属性会形成BFC:
BFC布局规则:
具体布局规则有以下几条:
低版本浏览器比如ie6,7如何触发BFC
当元素的hasLayout属性值为false的时候,元素的尺寸和位置由最近拥有布局的祖先元素控制。当元素的hasLayout属性值为true的时候会达到和BFC类似的效果,元素负责本身及其子元素的尺寸设置和定位。
/*兼容ie6,7的清除浮动方法*/ .clearfix { *zoom: 1; } .clearfix:after { display: table; content: ''; clear: both; }
聊聊前端布局
作为一名前端工程师,页面布局能力是最基本能力。最近公司招聘前端,自己作为面试官,出了一些题,其中一道就是布局的题目:实现一个左侧定宽,右侧充满剩余屏幕的布局。
布局涉及的点包括以下几个方面:
position
position有4个属性,分别为static,relative,absolute,fixed。
脱离文档流指的是元素的布局不再影响文档中的其他元素。
float
BFC
BFC(Block formatting context)直译为"块级格式化上下文"。它是一个独立的渲染区域,只有Block-level box参与, 它规定了内部的Block-level Box如何布局,并且与这个区域外部毫不相干。
使用那些属性会形成BFC:
BFC布局规则:
具体布局规则有以下几条:
低版本浏览器比如ie6,7如何触发BFC
当元素的hasLayout属性值为false的时候,元素的尺寸和位置由最近拥有布局的祖先元素控制。当元素的hasLayout属性值为true的时候会达到和BFC类似的效果,元素负责本身及其子元素的尺寸设置和定位。
清除浮动