zoukankan      html  css  js  c++  java
  • 160818、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;}

  • 相关阅读:
    url 编码 js url传参中文乱码解决方案
    form提交时,如果target=_blank,则会打开一个新页面,但是大小和位置无法控制,请问如何进行控制
    java日期转字符串 字符串转日期 日期转日历 日历转日期
    策略模式【设计模式学习02】
    设计模式六大原则【设计模式学习开篇】
    应用程序栏【WP7学习札记之九】
    主题样式与数据绑定【WP7学习札记之八】
    启动器与选择器常用Task【WP7学习札记之四】
    屏幕方向与常用控件【WP7学习札记之六】
    设备的开发【WP7学习札记之五】
  • 原文地址:https://www.cnblogs.com/zrbfree/p/5795135.html
Copyright © 2011-2022 走看看