CSS 布局

布局分类

  • 固定宽,一般为960 / 1000 / 1024 px
  • 不固定宽,靠文档流的原理布局
  • 响应式布局,PC上固定宽度,手机上不固定宽度

三种布局思路

1,float


元素浮动之后,它会被移出正常的文档流,然后向左或者向右平移,一直平移直到碰到了所处的容器的边框,或者碰到另外一个浮动的元素。

  • 兼容IE9,不响应式不给手机看

如果父元素里只有浮动元素,那它的高度会是0!想要它自适应即包含所有浮动元素,需要清除它的子元素。
一种方法叫做clearfix,即clear一个不浮动的 [::after],CSS伪元素::after用来创建一个伪元素,作为已选中元素的最后一个子元素。通常会配合content属性来为该元素添加装饰内容。这个虚拟元素默认是行内元素,伪元素。

给父元素加clearfix见下方:

container::after { 
  content: "";
  display: block; 
  clear: both;
}

2,flex


flex 规定了弹性元素如何伸长或缩短以适应flex容器中的可用空间,必要时用负margin。

学习flex布局 - 青蛙小游戏

.container{
   display:flex; /*or inline-flex*/
 }

改变items流动方向

flex-direction:

row //行正排列,从左到右
row-reverse //行-逆排列,右到左
column //列-正排列
column-reverse //列-逆排列

改变折行

flex-warp:

nowrap,不折行
wra,折行
wrap-reverse ,反折行

改变主轴对齐方式

justify-content:

flex-start
flex-end
center
space-between
space-around
space-evenly

改变次轴对齐方式

align-items:

flex-start
flex-start
flex-end
center
stretch
baseline

多行内容

align-content:

flex-start
flex-end
center
stretch
space-between
space-around

3,grid


CSS Grid 网格布局教程 - 阮一峰的网络日志

网格布局(Grid)是最强大的 CSS 布局方案。

它将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局。

以前,只能通过复杂的CSS框架达到的效果,现在浏览器内置了。但目前只兼容最新的浏览器

3.1 grid用法

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。