CSS布局总结

1.float
1.1脱离文档流
1.2挤压(向左向上)
1.3清除浮动

.clearfix:after{/*伪元素是行内元素 正常浏览器清除浮动方法*/
content: "";
display: block;
height: 0;
clear:both;
visibility: hidden;
}
.clearfix{
*zoom: 1;/*ie6清除浮动的方式 *号只有IE6-IE7执行,其他浏览器不执行*/
}

2.flex
2.1父元素定义好布局方式为flex

.box{
    display:-webkit-flex;
    display:flex;
}

2.2 6个属性设置在容器上。

  • flex-direction
  • flex-wrap
  • flex-flow
  • justify-content
  • align-items
  • align-content

flex-direction属性决定主轴的方向(即项目的排列方向)。
flex-wrap 是否换行
flex-flow属性是flex-direction属性和flex-wrap属性的简写形式,默认 row nowrap
justify-content属性定义了项目在主轴上的对齐方式
align-items属性定义项目在交叉轴上如何对齐
在这里插入图片描述
align-content属性定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用
在这里插入图片描述

.box{
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-items:flex-start | flex-end | center |baseline | stretch;
.box{
align-content:flex-start | flex-end | center | spance-between | space-around |stretch;
}
}

2.3 6个属性设置在项目上。

  • order
  • flex-grow
  • flex-shrink
  • flex-basis
  • flex
  • align-self

order属性定义项目的排列顺序。数值越小,排列越靠前,默认为0.
flex-grow属性定义项目的放大比例,默认值为0,即如果存在剩余空间,也不放大。
flex-shrink属性定义了项目的缩小比例,默认为1,即如果空间不足,改项目将缩小。
flex-basis属性定义了在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,即项目的本来大小
flex属性是flex-grow,flex-shrink和flex-basis的简写,默认值为0 1 auto。后面两个属性可选
在这里插入图片描述
align-self属性允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性。默认值为auto,表示继承父元素的align-items属性,如果没有父元素,等同于stretch

.item{
	order:<integer>;
	flex-grow:<number>;/* default 0*/
    flex-shrink:<number>;/* default 1 */
    flex-basis:<length> | auto ; /*default auto*/
    flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]
    align-self: auto | flex-start | flex-end | center | baseline | stretch;
}

3.grid

3.1 容器属性

.wrapper{
            width:450px;
            background: #f3f3f3;
            text-align:center;
            display: grid;
            grid-template-rows: 150px 150px 150px
            grid-template-columns: 1fr 1fr 1fr;//比例关系 
            
            //或者repeat(3, 33.33%);也是ok的
            // grid-template-columns: repeat(auto-fill, 100px) 自动填充
            //minmax(100px,1fr) 最大最小范围
            
            //行间距
			grid-row-gap: 10px;
			grid-column-gap: 10px;
			grid-auto-flow:colunm;  
			//justify-items属性设置单元格内容的水平位置,align-items设置单元格内容的垂直位置
			justify-items: start | end | center | stretch;
 			align-items: start | end | center | stretch;
 			//合并写法
 			place-items: start end;
			
			//justify-content属性是整个内容区域在容器里面的水平位置,align-content属性是整个内容区域在容器里面的垂直位置
			justify-content: start | end | center | stretch | space-around | space-between | space-evenly;
  			align-content: start | end | center | stretch | space-around | space-between | space-evenly;  
        }

        
.item:nth-of-type(3){//这个是子项属性
            background:#a0a0ff;
        }

3.2 子项属性
grid-column-start属性:左边框所在的垂直网格线
grid-column-end属性:右边框所在的垂直网格线
grid-row-start属性:上边框所在的水平网格线
grid-row-end属性:下边框所在的水平网格线

.item-1 {
  grid-column-start: 2;
  grid-column-end: 4;
}

在这里插入图片描述

.item-1 {
  grid-column-start: 1;
  grid-column-end: 3;
  grid-row-start: 2;
  grid-row-end: 4;
}

在这里插入图片描述

.item-1 {
  grid-column-start: span 2;//占据位置
}

在这里插入图片描述

.item-1 {//合并写法
  grid-column: 1 / 3;
  grid-row: 1 / 2;
}
/* 等同于 */
.item-1 {
  grid-column-start: 1;
  grid-column-end: 3;
  grid-row-start: 1;
  grid-row-end: 2;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值