zoukankan      html  css  js  c++  java
  • CSS自适应布局(包括两边宽度固定中间宽度自适应与中间宽度固定两边宽度自适应)

    1、两边宽度固定,中间宽度自适应

    (1)非CSS3布局,浮动定位都可以(以下用浮动)

    css样式:

    #left { float: left;width: 200px; background: lime;}
    #right { float: right; width: 200px; background: lime;}
    #center { margin:0 200px; background: blue}

    html:

    <div id="left">left</div>
    <div id="right">right</div>
    <div id="center">center</div>

    (2)CSS3布局

    css样式:

    * { padding: 0; margin: 0;}
    body { display: -webkit-box;}
    div { padding: 50px;}
    div[left] { width: 200px; background: lime}
    div[right] { width: 200px; background: lime;}
    div[center] { -webkit-box-flex:1; background: yellow}

    html:

    <div left>left</div>
    <div center>center</div>
    <div right>right</div>

    2、中间宽度固定,两边宽度自适应

    (1)非CSS3布局,浮动与margin解决

    css:

    .center {width: 600px; background: yellow;}
    .center,.left,.right { float: left; }
    .left,.right { width: 50%; margin-left: -300px; }
    .inner { padding: 50px;}
    .left .inner,.right .inner { margin-left: 300px; background: red;}

    html:

    <div class="left">
        <div class="inner">left</div>
    </div>
    <div class="center">
        <div class="inner">center</div>
    </div>
    <div class="right">
        <div class="inner">right</div>
    </div>

    (2)非CSS3布局,定位与margin解决

    css:

    * { padding: 0; margin: 0;}
    #center { width: 600px; background: red; margin: 0 auto;}
    #left { position: absolute; top: 0; left: 0;width: 50%;}
    #right { position: absolute; top: 0; right: 0; width: 50%;}
    #left div { margin-left: 300px; position: relative; left: -300px; background: lime;}
    #right div { margin-right: 300px; position: relative; left: 300px; background: lime;}

    html:

    <div id="left">
        <div>left</div>
    </div>
    <div id="right">
        <div>right</div>
    </div>
    <div id="center">center</div>

    (3)CSS3布局

    css3:

    div[you=me] { display: -webkit-box;}
    div div { background: red; height: 100px;}
    div div:nth-child(1) {-webkit-box-flex:1;}
    div div:nth-child(2) { width: 600px; background: lime}
    div div:nth-child(3) {-webkit-box-flex:1;}

    html:

    <div you="me">
        <div>left</div>
        <div>center</div>
        <div>right</div>
    </div>
  • 相关阅读:
    Discourse 如何不使用 Let’s Encrypt 而使用 CA 签名的密钥进行安装
    Discourse 重复安装过程中的密钥签发问题
    Discourse 升级后提示 https 混合内容
    CentOS 8 安装 docker 报错 containerd.io >= 1.2.2-3
    MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transaction
    培养自己的5项能力
    高效率工作方式
    项目的架构演进过程
    如何预防后台被攻击,且看Tomcat的安全配置
    redis的缓存更新策略,缓存粒度控制
  • 原文地址:https://www.cnblogs.com/zhanyishu/p/5656875.html
Copyright © 2011-2022 走看看