三栏布局之 css3 calc和 flex】的更多相关文章

圣杯布局的实现,有很多种. 大致都是借助 padding, margin, float之类的,当然这是传统的实现方式.更多的参考方式圣杯布局小结. 这里说的是用css3 cal 和flex来实现,因为css有限,有不当或者错误之处,敬请指出. css3 cal 的支持情况,总体 93%. flex布局的支持情况, 总体97% 为了增加复杂度 1. 块之间有间距 2. 有 border 3. 都采用了 box-sizing: content-box 先看 calc的实现 <!DOCTYPE htm…
本篇文章由:http://xinpure.com/css3-box-model-to-implement-a-three-column-layout/ 使用 Position 绝对定位也是可以实现三栏布局的,然而使用 CSS3 的盒模型却显得更简单.更灵活 CSS3盒模型 display: -webkit-box; display: -moz-box; display: box; 将父元素定义成盒模型之后,就可以通过 box-flex 属性来实现布局了. box-flex 主要让子元素针对父元素…
一.使用display:flex;实现两栏布局 body,div{margin:0px;padding:0px;} .flex-container{display:flex;height:300px;} .item{padding:6px;} .item1{flex:0 0 auto;background-color:#999;width:200px;} .item2{flex:1 1 auto;background-color:#484;} <div class="flex-contai…
聊聊三栏布局----左右定宽,中间自适应. 效果图: 圣杯布局 <!DOCTYPE html> <html> <head lang="en"> <title>圣杯</title> <style> .container{ padding:0 200px 0 180px; height:100px; } .left{ float:left; width:180px; height:100px; margin-left:…
1.前言 作为一个前端开发人员,工作学习中经常会遇到快速构建网页布局的情况,这篇我整理了一下我知道的一些方法.我也是第一次总结,包括圣杯布局,双飞翼布局,table-cell布局都是第一次听说,可能会有需要修改的地方请谅解.三栏布局顾名思义,就是左右两侧宽高固定,中间一列居中切随着浏览器页面变化.下面来看下具体的实现方法: 2.具体实现方法 实现效果如下: (1)绝对定位方法 <div class="box"> <div class="left"&…
接上篇ccs之经典布局(一)(水平垂直居中) 四.两列布局 单列宽度固定,另一列宽度是自适应. 1.float+overflow:auto; 固定端用float进行浮动,自适应的用overflow:auto;触发BFC. 2.absolute+margin-left 父容器相对定位,固定端于父容器绝对定位,自适应margin-left设置为固定端width 3.table布局 父容器display:table,内容撑开宽度,所以需要设置width:100%;两端都以display:table-c…
CSS布局技术可谓是前端技术中最基础的技术,就是因为基础,所以我认为要更加熟练,深入的去掌握,去梳理. 一. 传统 ---> 浮动实现的三栏布局 采用浮动实现的三栏布局有以下特点及注意事项: · 注意DOM结构的排列顺序. 因为左右两侧的DOM都是浮动布局,而中间的DOM则是普通的文档流,所以为了规避浏览器正常的页面渲染,即先解析左侧DOM(浮动),再解析中间的DOM(普通文档流,宽度100%)而导致解析最后的右侧DOM(浮动)时因为宽度的问题,而掉到下一行的情况. · 因为DOM结构顺序实际内…
需求:高度已知为200px,写出三栏布局,左栏和右栏各位200px,中间自适应,如下图所示: 方法一:float浮动布局 原理是:定义三个区块,需要注意的是中间的区块放在右边区块的下面,统一设置高度为200px,然后设置左边栏宽度为200px并且float:left,设置右边栏宽度为200px并且float:right 优点:兼容性比较好 缺点:float会脱离文档流,需要处理float周边的元素比如清除浮动 浮动布局的原理:查看浮动布局详解 <style> html *{ padding:…
1.前言 用css实现“两边定宽,中间自适应的三栏布局”这个问题应该是在前端面试中被面试官提问到的高频问题了,一般当面试者写出一种实现方法之后,面试官还会问你还有没有别的方法,尽量多的写出几种实现方法. 2.实现原理 要想实现这种“两边定宽,中间自适应的三栏布局”其实也不难,无外乎把握住以下几点: 要想中间自适应,那么中间的div不能设置宽度width,这样宽度就会随着浏览器窗口自适应. 由于div是块级元素,要想三个div处于同一行,那么两边的div就要脱离文档流. CSS3的flex伸缩布局…
左侧固定右侧自适应 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible…