总结一下css布局

提供一些常见的布局demo,仅供参考

  1. 水平居中
    margin + 定宽
    table + margin实现不定宽
    inline-block + text-align实现不定宽
    absolute + margin-left
    absolute + transform
    flex + justify-content

  2. 垂直居中
    table-cell + vertical-align
    absolute + transform
    absolute + 负margin
    flex

  3. 水平垂直居中

absolute + transform
absolute + margin负值
table-cell + vertical-align + inline-block + text-align
flex

  1. 一列定宽,一列自适应
    float + margin
    float + overflow
    tabel + tabel-cell
    flex

还可以延展成多列定宽,一列自适应 多列不定宽加一列自适应,比如圣杯布局、双飞翼之类的,那就再讲讲圣杯布局和双飞翼布局了

实现圣杯布局

思路:三者的包裹容器设置一个左右padding来装下左边的aside和ad,而main设置浮动,宽度为100%,这样他就处在中间并且宽度自适应了,将aside也设置为浮动,然后margin-left:-100%,他正好跑到了处在中间main的左上角,然后给他设置position:relative,他就正好处在浏览器左上角了,而ad设置为浮动,然后margin-left:-150px就回到了main的右上角,然后同理,设置position:relative就在浏览器右上角了
圣杯布局

实现双飞翼布局

思路:main设置浮动,宽度为100%,并且给它加一个子元素,给这个子元素设置一个左右margin,aside设置margin-left:-100%回到浏览器左侧,且设置为浮动,ad设置margin-left:adWidth,float:left,回到浏览器右侧

总结一下:双飞翼布局是利用main的子元素的左右margin,而圣杯布局是利用main的父元素的左右padding

双飞翼布局

  1. 等宽布局
    float + 百分比宽度 + box-sizing: border-box
    tabel + tabel-cell
    flex

  2. 等高布局
    tabel + tabel-cell
    float
    abslute + top:0 + bottom:0
    flex

事实上上面的方法并不全,但是这些大概够用了,不知道有人观察到没,float、tabel、flex用的最多,而且flex基本能完美实现所有布局,并且代码量极少极优雅,简直让人爱不释手...

木桶布局

瀑布流布局

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

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,813评论 1 92
  • 按照是否相应浏览器宽度变化划分: 固定宽度布局:body的width是一个固定值,当浏览器的窗口缩小时,底部出现滚...
    lingfighting阅读 592评论 0 0
  • 前言 温馨提示:本文较长,图片较多,本来是想写一篇 CSS 布局方式的,但是奈何 CSS 布局方式种类太多并且实现...
    sunshine小小倩阅读 3,181评论 0 59
  • CSS布局 布局是CSS中一个重要部分,本文总结了CSS布局中的常用技巧,包括常用的水平居中、垂直居中方法,以及单...
    web前端学习阅读 1,629评论 1 38
  • 目录 常用居中垂直居中水平居中垂直水平居中 单列布局 双列&三列布局 常用居中 垂直居中 单行文本垂直居中 图片垂...
    听城阅读 456评论 1 2