说到布局,首先想到的就是定位。有人问我,cssposition定位的值有哪些,分别代表什么意思?呃....抓挠head.gif,是时候回归本质,看定义了。1、定位1.1positionposition有六个属性值:static、relative、absolute、fixed、sticky和inherit。static(默认):元素框正常生成。块级元素生成一个矩形框作为文档流的一部分;内联元素创建一个或多个行框并将它们放置在父元素内。relative:元素框在正常文档流中相对于它之前的位置发生了偏移,仍然占据了原来的位置。当发生偏移时,其他元素可能被覆盖。absolute:元素框不再占据文档的位置,相对于包含块有偏移(所谓包含块就是距离最近的外层元素的位置不是静态的元素)。固定:元素框不再占据文档流位置并且相对于视口定位。sticky:css3新属性值,sticky定位,相当于relative和fixed的混合。一开始会认为是相对的,相对于原位置偏移;一旦超过一定的阈值,就会被认为是固定的,相对于视口定位。2、三栏式布局三栏式布局,其中一种是宽度自适应的,是PC端最常用的一种。三栏布局就搞定了,其他套路同理。2.1方法一:浮动布局缺点:html结构不正确。当包含区域的宽度小于左右框架之和时,右框架将被挤出。<样式>.tree-columns-layout.float.left{float:left;宽度:300px;背景色:#a00;}.tree-columns-layout.float.right{浮动:正确;宽度:300px;背景色:#0aa;}.tree-columns-layout.float.center{/*left:300px;右:300px;*/保证金:0300px;背景色:#aa0;溢出:自动;}我是浮动布局的左边框
我是浮动布局的右框
我是浮动布局的中框
2.2方法二:定位布局缺点:要求parent非静态定位,否则左右框架容易移出我是表格布局的左边框
我是表格布局的中框
我是表格布局的右框
2.4方法四:flex弹性布局缺点:兼容性我是flex弹性布局的左边框
我是flex弹性布局的中框
我是flex弹性布局的右框
2.5方法五:grid网格布局缺点:兼容性Firefox52,Safari10.1,Chrome57,Opera44我是圣杯布局中框
我是圣杯布局左框
我是圣杯布局右框
3.实现效果:
