CSS 布局小技巧
calc() css 的函数,动态计算长度值--- 左右都需要留空!!!
BFC -- 块级格式上下文
- 独立区域,与外界互不干扰
- 内部 margin 垂直方向重叠
- 内部 float 块计算高度
- 办法:
- position: absolute; fixed
- overflow: hidden;
- display: inline-block; table-cell; flex ; inline-flex;
div 居中 - -
- flex 流布局
- 外层 table; 内层 display: table-cell; vertical-align: middle; text-align: center; 这个实际上是内容的居中。有点欠缺
- :after 伪元素 提供一个占位符
- 父元素 text-align: center;
- :after content: ''; width: 0; height: 100%; display: inline-block; vertical-align: middle;
- 子元素 display: inline-block; vertical-align: middle;
- 子元素 postion absolute 的方法。 不过好像 transform: translate( calc( -50%+0.5px)) 兼容性不太OK;
两栏布局 - -
左侧固定,右侧自适应宽度
- flex 布局。 一个给定固定的 width; 一个给定 flex: 1; 表示占据了剩余的空间
- table 布局, 利用的也是 table 自动填充内容; 都 display: table-cell; 一个给 width; 另一个自动填充满
- position 给左侧 position absolute width left top ; 右侧直接 margin-left: 200px; 自动填充满
- float 布局; 全部给定 float: left; 一个给 width; 另一个 width: calc( 100% - 200px) 即可
- float 布局; 左边给 float: left; 右边给 overflow: hidden; BFC 块级格式上下文,和外部 float 块互不影响,不重叠
三栏布局 - -
- 万年不变的 flex
- table table-cell 灵活填充 自适应宽度的不用设定宽度
- position absolute 谁自适应,谁不用给 position 。但是需要设定 margin-left margin-right; 左右两侧 absolute 的也需要 top left bottom 的设定
- 浮动; 全浮动; 中间的给 width: calc( 100% - 200px - 200px ) ;
....
浙公网安备 33010602011771号