CSS布局


CSS常见布局:

一.左右布局

(1)float方式:

将float设置成left,使用margin调节两个区域间距。

将左部分float:left,右边float:right,用margin调节两区域间距。

hint:要给父元素清除浮动:clearfix

.clearfix::after{

  content:"";

  display: block;

  clear: both;

}

(2)inline-block:

将左右部分display属性均设置为inline-block,然后左右区域即可在同一行显示。用margin调节间距。

(3)flex:

将父容器display设为flex,justify-content可以调节为:居中两侧、居中、开头对齐、末尾对齐等。

可用flex-basis来设置左右区域的具体宽度值,也可用flex-grow来设置左右区域占父容器空间的比值。

二.左中右布局(同上)


三.水平居中

内行元素的水平居中

给父元素设置text-align:center

给父元素设置display:flex;justify-content:center;

块级元素的水平居中

元素宽度确定,给元素设置margin:0 auto;

宽度不确定时:

父级元素设置display:flex;justify-content:center;

父级元素设置display:flex; 子元素设置margin:0 auto;

父级元素设置display:grid;justify-content:center;

父级元素设置display:grid; 子元素设置margin:0 auto;

垂直居中

inline元素的垂直居中

(1)设置父元素的高度height与行高line-height一致,父元素内的行内子元素会垂直居中。

(2)给父元素设置display:flex;flex-direction:column;justify-content:center;

(3)给父元素设置display:flex;align-items:center;

(4)给父元素设置display:flex;子元素设置margin:auto 0;

(5)给父元素设置display:grid;align-content:center;

(6)给父元素设置display:grid;子元素设置margin:auto 0;

块级元素的垂直居中

flex布局和grid布局的方法对行内元素或块级元素都适用


(1)给父元素设置display:flex;flex-direction:column;justify-content:center;

(2)给父元素设置display:flex;align-items:center;

(3)给父元素设置display:flex;子元素设置margin:auto 0;

(4)给父元素设置display:grid;align-content:center;

(5)给父元素设置display:grid;子元素设置margin:auto 0;

元素高度确定时:

(1)父元素position:relative,子元素position:absolute; top:50%; margin-top:元素高度/2;

(2)子元素设置相对定位,子元素top:50%;margin-top:-元素高度/2;

.father:before,.father:after{

content:'';

display:block;

height:(父元素高度-子元素高度)/2;

}

元素高度不确定时,

(1)父元素设置相对定位,子元素设置绝对定位,子元素top:50%;translateY(-50%)/translate(0,-50%)

(2)子元素设置相对定位,子元素top:50%;translateY(-50%)/translate(0,-50%)

水平垂直居中通用

给父元素设置display:flex;justify-content:center;align-items:center;

(1)给父元素设置display:flex;给子元素设置margin:auto;

(2)给父元素设置display:grid;justify-content:center;align-content:center;

(3)给父元素设置display:grid;给子元素设置margin:auto;

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

推荐阅读更多精彩内容

  • CSS布局解决方案(终结版) 前端布局非常重要的一环就是页面框架的搭建,也是最基础的一环。在页面框架的搭建之中,又...
    杀个程序猿祭天阅读 595评论 0 2
  • 前言 温馨提示:本文较长,图片较多,本来是想写一篇 CSS 布局方式的,但是奈何 CSS 布局方式种类太多并且实现...
    sunshine小小倩阅读 3,173评论 0 59
  • 1. 前言 前端圈有个“梗”:在面试时,问个css的position属性能刷掉一半人,其中不乏工作四五年的同学。在...
    YjWorld阅读 4,538评论 5 15
  • 前端布局非常重要的一环就是页面框架的搭建,也是最基础的一环。在页面框架的搭建之中,又有居中布局、多列布局以及全局布...
    一个敲代码的前端妹子阅读 805评论 0 12
  • CSS布局小贴士 左右布局实现 使用浮动float可将左部分区域和右部分区域的float属性都设置为left,然后...
    鞳雪無痕阅读 274评论 0 0