目录
一、静态布局
二、弹性布局(flex)
弹性布局可以简便、完整、响应的实现各种页面上的布局。与静态不同的是,使用em或rem单位(lem=16px,1rem=10px)进行相对布局,相对使用百分比更加方便、灵活,相应同时支持浏览器的字体大小调整和缩放的等正常显示。
flex布局即为弹性布局,也就是弹性盒模型,给元素开启弹性盒之后,子元素的float、clear、 vertical-align等失效
flex-direction:决定主轴方向
-
row(默认值):主轴为水平,起点在左端
-
row-reverse:主轴为水平,起点在右端
-
column:主轴为垂直方向,起点在上沿
-
column-reverse:起点在下沿
flex-wrap:是否换行
-
nowrap(默认) 不换行
-
wrap 换行 首行在上
-
wrap-reverse 换行 首行在下
justify-content:子元素在主轴上的对齐方式
-
flex-start(默认):左对齐
-
flex-end:右对齐
-
center:居中
-
space-between:两端对齐,子元素之间的间隔都相等
-
space-around:两端对齐(但子元素不与父元素边框贴合),子元素两侧的间隔相等;故子元素之间的间隔比子元素与父元素边框的间隔大一倍
align-item:子元素在交叉轴上对齐方式
-
flex-start:交叉轴的起点对齐
-
flex-end:交叉轴的终点对齐
-
center:中点对齐
-
baseline:子元素的第一行
-
stretch(默认):若项目为设置高度或设置为auto,将占满整个父元素
设置在子元素的属性
-
order:定义子元素的排列顺序,数值越小,排列越靠前,默认为0
-
flex-grow:定义子元素的放大比例,默认为0,即如果存在剩余空间,也不放大;如果所有子元素的flex-grow属性为1,则它们将等分剩余空间
-
flex-shrink:定义子元素的缩小比例,默认为1,如果空间不足,该子元素将缩小;如果所有子元素的flex-shrink属性都为1,当空间不足时,都将等比例缩小
-
flex-basis:定义了在分配多余空间之前,子元素占据的主轴空间,默认值为auto
-
flex:前三者的缩写,默认值为 0 1 auto。
三、自适应布局(bootstrap)
自适应布局分别为不同屏幕不同分辨率定义布局,即是创建多个静态页面,每个静态页面对应一个屏幕分辨率的一个范围内。在改变不同的屏幕分辨率可以切换到不同的静态布局上,但是布局中的元素位置会发生改变,但是在每个静态布局中,页面中的元素不会随着窗口大小的调整发生变化。使用 @media 媒体查询给不同尺寸和介质的设备切换不同的样式。在优秀的响应范围设计下可以给适配范围内的设备最好的体验,在同一个设备下实际还是固定的布局。
四、流式布局(fluid)
流式布局的布局方式是页面的元素的宽度按照屏幕的分辨率进行适配的调整,但是整体布局不变。
五、响应式布局
响应式布局是css3增加的新布局方式。
设计方法: 媒体查询+流式布局。通常使用@media媒体查询,和网格系统配合相对布局单位进行布局,实际上说白了就是综合响应式等技术通过css给单一网页不同设备分辨率返回不式时的技术。
六、浮动布局(float)
浮动布局进行调用浮动属性改变页面中元素的位置,浮动布局应该是目前各大网站用的最多的一种布局方式
七、定位布局(position)
static 静态定位: HTML元素的默认值,即没有定位,元素出现在正常的流中。
fixed 固定定位: 元素的位置相对于浏览器窗口是固定位置。即使窗口是滚动的它也不会移动。Fixed定位使元素的位置与文档流无关,因此不占据空间。Fixed定位的元素和其他元素重叠。
relative 相对定位: 相对定位元素的定位是以自身为参照物。对象不可层叠、不脱离文档流,移动相对定位元素,但它原本所占的空间不会改变。通过 top,bottom,left,right 定位。
absolute 绝对定位: absolute 定位使元素的位置与文档流无关,因此不占据空间。元素和其他元素重叠。通过 top,bottom,left,right 定位。选取其最近一个最有定位设置的父级对象进行绝对定位,如果对象的父级没有设置定位属性,absolute元素将以body坐标原点进行定位。
sticky 粘性定位 基于用户的滚动位置来定位。粘性定位的元素是依赖于用户的滚动,在 position:relative 与 position:fixed 定位之间切换。
八、栅格布局(grid)
Grid
布局即网格布局,是一种新的css
模型,一般是将一个页面划分成几个主要的区域,定义这些区域的大小、位置和层次等关系,是目前唯一一种css
二维布局。
九、补充拓展
rem vw vh em px
px:绝对单位,页面按精确像素展示
em:相对单位,基准点为父节点字体的大小,如果自身定义了font-size按自身来计算,整个页面内1em不是一个固定的值
rem:相对单位,可理解为root em, 相对根节点html的字体大小来计算
vh、vw:vw ,就是根据窗口的宽度,分成100等份,100vw就表示满宽,50vw就表示一半宽。(vw 始终是针对窗口的宽),同理,vh则为窗口的高度。主要用于页面视口大小布局,在页面布局上更加方便简单。