zoukankan      html  css  js  c++  java
  • css页面布局

    居中布局

     

    水平居中

    父元素和子元素的宽度都未知

    inline-block + text-ailgn

    .child{display:inline-block;}

    .parent{text-align:center;}    

    优点:兼容性好 

    缺点:子元素文本继承了text-align属性,子元素要额外加text-align:left;

    table + margin

    .child{display:table; margin:0 auto;}

    优点:只需要设置子元素的样式

    absolute + transform

    .parent{position:relative;}

    .child{position:absolute; left:50%; transform: translateX(-50%);

    优点:居中子元素不会对其他元素产生影响

    缺点:transform是CSS3的属性,存在兼容性问题

    flex + justify-content

    .parent{display:flex; justify-content:center;}

    优点:只需要设置父元素的样式

    缺点:兼容性问题

    flex + margin

    .parent{display:flex;}

    .child{margin:0 auto;}

     

    垂直居中

    父容器和子容器的高度都未知

    table-cell + vertical-align

    .parent{display:table-cell; vertical-align:middle;}

    优点:兼容性好

    absolute + transform

    .parent{position:relative;}

    .child{position:absolute; top:50%; transform:translateY(-50%);}

    优点:子元素不会干扰其他元素

    缺点:兼容性

    flex + align-item

    .parent{display:flex; align-items:center;}

    优点:只需要设置父元素

    缺点:兼容性问题

    水平垂直居中

    父容器和子容器的高度都未知

    inline-block + text-align + table-cell + vertical-align

    .parent{text-align:center; display:table-cell; vertical-align:middle;}

    .child{display: inline-block;}

    absolute + transform

    .parent{position:relative;}

    .child{position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);}

    flex + justify-content + align-item

    .parent{display:flex; justify-content:center; align-items:center;}

    多列布局

    定宽-自适应

    float+margin

    .left{float:left; 100px;}

    .right{margin-left:120px;}

    float+margin+fix

    <div class="left"></div>

    <div class="right-fix">

        <div class="right"></div>

    </div>

    外层在包裹一个容器

    .left{float:left; 100px; position: relative;}

    .right-fix{float:right; 100%; margin-left:-100px;}

    .right{margin-left:120px;}

    兼容性很好,但是多了层right-fix的结构

    float+overflow

    .left{float:left; 100px; margin-right: 20px;}

    .right{overflow:hidden;

    table

    .parent{display:table; 100%; table-layout:fixed;}

    .left,.right{display:table-cell;}

    .left{100px; padding-right:20px;}

    flex

    .parent{display:flex;}

    .left{100px; margin-right:20px;}

    .right{flex:1;}

    不定宽-自适应

    float + overflow

    .left{float:left; margin-right:20px;}

    .right{overflow:hidden;}

    table

    .parent{display:table; 100%;}

    .left,.right{display:table-cell;}

    .left{0.1%; padding-right:20px;}

    flex

    .parent{display:flex;}

    .left{margin-right:20px;}

    .right{flex:1;}

    转自: https://segmentfault.com/a/1190000003113119

    作者: phank

  • 相关阅读:
    分布式版本控制系统Git的安装与使用
    随笔--第一篇博客
    字符串、文件操作,英文词频统计预处理
    了解大数据的特点、来源与数据呈现方式
    第五次作业-结对项目四则运算 “软件”之升级版
    第四次作业:个人项目-小学四则运算 “软件”之初版
    读《构建之法》1-5章有感
    第二次作业——分布式版本控制系统Git的安装与使用
    第一次作业——感想
    【大数据】字符串、文件操作,英文词频统计预处理
  • 原文地址:https://www.cnblogs.com/-ding/p/6022720.html
Copyright © 2011-2022 走看看