CSS布局方法

1、左右布局

这就要说到一个属性float,使用float: left;就可以让浮动元素 会脱离正常的文档布局流,并吸附到其父容器的左边。在正常布局中位于该浮动元素之下的内容,此时会围绕着浮动元素,填满其右侧的空间。但是,子类使用float来使元素并排,那么父类就需要使用clearfix来防止子元素下方的标签浮动上来贴和。

.clearfix::after {
    content: '';
    display: block;
    clear: both;
}

这样所有元素就会紧贴左边浮动,如果想要左右浮动,就可以把最右边的元素设置为float: right;这样就可以实现左右布局。

2、左中右布局

左中右布局,父元素有三个子元素,首先先把三个子元素浮动并排起来如左右布局一样,然后给后两个元素都设置一个margin左边距,父元素设置水平居中;就可以实现左中右布局。

  1. 所有
  2. 框架
  3. 原生 JS&CSS
li{
    float: left;
    margin-left: 40px;
}
li{
    float: left;
    margin-left: 40px;
}

3、水平居中

  • 对于行内元素(inline):text-align: center;。
  • 对于块级元素(block):设置宽度且 marigin-left 和 margin-right 是设成 auto。
  • 对于多个块级元素:对父元素设置 text-align: center;,对子元素设置 display: inline--block;;或者使用 flex 布局。

4、垂直居中

  • 对于行内元素(inline)设置上下 pandding 相等;或者设置 line-height 和 height 相等。
  • 对于块级元素(block),父元素需使用相对定位:子元素使用绝对布局 top: 50%;,再用负的 margin-top 把子元素往上拉一半的高度。

5、其他小技巧

  • box-shadow可以给块设置阴影,看起来更立体,谷歌搜索css shadow generator可以自己调整样式。
  • transition: all 0.3s;动画属性,可以给所有变化加入过渡动画和过渡时间。
  • cursor: pointer;鼠标悬停时I型可以变成手指点击形状。
  • border: 1px solid red; border边框可以用来调试标签的所占位置。。
  • 当设置display: inline-block; 需要加上vertical-align: top; 来去除底层多出的空间。
  • background-image: url(../img/girl.jpg); 设置背景图片background-position: center center;可以使背景图片垂直水平居中, background-size: cover;使背景图片可以按比例缩放。
  • 谷歌搜索css linear-gradient generator可以设置一个元素的渐变色,来使一个元素包含多种颜色。

你可能感兴趣的:(CSS布局方法)