美文网首页
CSS的几种布局实现

CSS的几种布局实现

作者: RookieD | 来源:发表于2018-08-01 00:42 被阅读0次

左右布局

这个布局比较简单,直接使用float就可以实现

.left {
  height: 100px;
  border: 1px solid red;
  float: left;
  width: 50%;
/* 加上box-sizing是为了整个盒模型宽度计算方便 */
  box-sizing: border-box;
}

.right {
  height: 100px;
  border: 1px solid green;
  float: left;
  width: 50%;
  box-sizing: border-box;
}

左中右布局

  • 实现1:使用左右布局的思路实现
.left {
  height: 100px;
  border: 1px solid red;
  float: left;
  width: 30%;
  box-sizing: border-box;
}

.middle {
  height: 100px;
  border: 1px solid yellow;
  float: left;
  width: 30%;
  box-sizing: border-box;
}

.right {
  height: 100px;
  border: 1px solid green;
  float: left;
  width: 30%;
  box-sizing: border-box;
}
  • 实现2:使用inline-block+text-align实现
<div class="wrapper">
    <div class="left">left</div>
    <div class="middle">middle</div>
    <div class="right">right</div>
</div>

<!-- font-size相关的代码是为了去除inline-block元素之间的间隙 -->
.wrapper {
  text-align: center;
  font-size: 0px;
}

.left {
  display:inline-block;
  border: 1px solid red;
  font-size: 14px;
}

.middle {
  display:inline-block;
  border: 1px solid yellow;
  font-size: 14px;
}

.right {
  display:inline-block;
  border: 1px solid green;
  font-size: 14px;
}

水平居中

  • 实现1
div {
  /* 必须指定宽度才能生效 */
  width: 100px;
  margin: 0 auto;
}
  • 实现2:inline-block+text-align,不在重复
  • 实现3:先用margin将div整个移动到页面宽度一般出,再往回移动div宽度一半的距离即可实现水平居中
div {
  height: 100px;
  width: 100px;
  border: 1px solid red;
  margin-left: 50%;
  position: relative;
  transform: translateX(-50%);
}

垂直居中

  • 实现1:设置line-height可以实现单行文字的垂直居中
  • 实现2:使用vertical-align可以实现内联元素的垂直居中
  • 实现3:多行文本可以通过调整padding-toppadding-bottom实现垂直居中
  • 实现4:和水平居中实现3是类似的思路,只不过用了绝对定位
<div class="wrapper">
    <div class="inner"></div>
</div>

.wrapper {
  height: 200px;
  border: 1px solid red;
  position: relative;
}

.inner {
  height: 50px;
  width: 50px;
  border: 1px solid blue;
  position: absolute;
  top: 100px;
  transform: translateY(-50%);
}

小技巧

  • 一般使用了display: inline-block都要加上vertical-align: top,避免出现奇怪的空隙
  • 很多CSS效果都可以使用网上的generator来生成,更加方便

相关文章

  • CSS布局(不完全)总结

    CSS布局(不完全)总结 实现水平居中布局的几种方式 方法一: 通过以下CSS代码实现水平居中布局 方法二: 通过...

  • 知识点之页面布局

    1. CSS圣杯布局的几种实现方式: 1. 浮动实现 2. 绝对定位实现 3. flex布局 4.表格布局...

  • 2019-01-26

    一、总结一下CSS的几种布局以及实现方法 左右布局 左中右 水平居中 垂直居中 1. 左右布局 左右布局很多种实现...

  • CSS布局

    简单介绍几种CSS布局方式 左右布局 实现的方式: 1.float + margin: 2.position的ab...

  • CSS的几种布局实现

    左右布局 这个布局比较简单,直接使用float就可以实现 左中右布局 实现1:使用左右布局的思路实现 实现2:使用...

  • CSS布局

    HTML CSS + DIV实现整体布局必备知识利用HTML和CSS实现常见的布局 单列布局 css 实现竖直居中...

  • css相关收集

    1.垂直居中2.几种常见的CSS布局3.CSS实现一个粒子动效的按钮4.我写CSS的常用套路(附demo的效果实现...

  • CSS常用布局实现

    该系列用于整理记录常用的CSS布局实现。 CSS常用布局实现01-水平居中 CSS常用布局实现02-垂直居中 CS...

  • Good Luck

    概念 HTML以及CSS篇,集中在CSS 说下你常用的几种布局方式,集中往盒模型、flex布局说(至于grid布局...

  • 用CSS实现几种常见布局

    左右布局 左右布局只要使左边的块级元素向左浮动,右边的向右浮动即可。但要记得因为子元素浮动会造成父元素的高度坍塌,...

网友评论

      本文标题:CSS的几种布局实现

      本文链接:https://www.haomeiwen.com/subject/jsnkvftx.html