如何用CSS做出各种布局

在用css做布局之前先要了解盒子模型,以及要了解文档流的概念。

如何做出左右及左中右布局

布局图

常见的可以用内联元素<span>左</span><span>中</span> <span>右</span>
也可用也可把块元素转换为inline-block

<div style="display:inline-block">左</div>
<div style="display:inline-block">中</div>
<div style="display:inline-block">右</div>

如何做出水平居中布局

水平居中

水平居中最简单的方法margin: 0 auto;如果没有用可能是
1、元素没有设置宽度,没有宽度怎么居中无法居中
2、设置了宽度依然不好使,你设置的是行内元素吧。

可把父div改为text-align:center,子div改为display:inline-block
html部分代码为<div class=wrapper><div class=inner>1</div></div>
css代码为

.inner{
  border:1px solid red;
  display:inline-block; 
}
.wrapper{
  border:2px solid yellow;
  text-align:center;
}

如何做出垂直居中

垂直居中

其部分html代码为<div class="box box1"> <span>垂直居中</span> </div>

  1. 直接用display:table-cell;
.box1{
    display: table-cell;
    vertical-align: middle;
    height:200px;
    border:1px solid ;
    text-align: center;        
}
  1. 用position脱离文档流,即使用定位来垂直居中:父节点使用的是相对定位,子节点使用绝对定位,通过定位位置的设置,然后利用负边距来实现垂直居中。
.box1{position:relative;
      border:1px solid;
      height:200px;
}
.box1 div{
            position: absolute;
            width:100px;
            height: 50px;
            top:50%;
            left:50%;
            margin-left:-50px;
            margin-top:-25px;
            text-align: center;
        }

一些经验

  1. 可在项目开头将所有元素的margin,padding清零,并将box-sizing设为border-box
  2. span元素不能设置宽高,span里最好不要放div,span等内联元素设置margin左右有用,设置上下margin无用
  3. 在运用伪类 ::before,::after时要用content=“”,否则将无效。
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,713评论 1 92
  • 1. 前言 前端圈有个“梗”:在面试时,问个css的position属性能刷掉一半人,其中不乏工作四五年的同学。在...
    YjWorld阅读 10,203评论 5 15
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 28,513评论 1 45
  • 茫茫人海,知己难寻, 有人对你好,是因为利益, 有人对你笑,是因为算计, 有人默默无闻,给你关怀, 有人竭尽全力,...
    张芸_阅读 2,563评论 0 0
  • 在Xcode6之前,创建一个新工程xcode会在Supporting files文件夹下面自动创建一个“工程名-P...
    毛茸茸的我总念成橡皮虾阅读 3,093评论 0 3

友情链接更多精彩内容