zoukankan      html  css  js  c++  java
  • 弹性盒模型计算

    弹性盒模型计算

    弹性盒模型计算

    DIV1
    DIV2
    DIV3
    DIV4

    弹性盒模型宽度为0的前提下,如果弹性盒模型内设置了具体宽度,计算盒模型的宽度时,应该用父级的宽度减去具体设置的值,然后剩下的宽度按照flex等分计算。
    也可理解为:父级减去内部所有固定宽度后,按照flex总份数等分,每个盒子再乘以所占份数最后加上自己的固定宽度(margin、padding、border)。

    示例:

    此例设置DIV1、DIV2、DIV3为弹性盒模型,DIV1占2份,DIV2、DIV3各占1份。DIV4为固定宽度200px,左边距60px。所有DIV设置内边距50px,边框20px。父级总宽1000px。

    第一步:用父级总宽减去所有固定宽度,4个div共有8个50px的横向padding、8个20px的横向border,1个200px的固定div,以及一个横向60px的margin
    1000 - 50 * 8 - 20 * 8 - 200 - 60 = 180

    第二步:将剩下的宽度按照flex的份数等分,div1为2、div2为1、div3为1,一共为4份
    180 / 4 = 45

    结果:
    DIV1的宽度为 45 * 2 + 50 * 2 = 190
    DIV2的宽度为 45 * 1 + 50 * 2 = 145
    DIV3的宽度为 45 * 1 + 50 * 2 = 145
    DIV4的宽度为 200 + 50 * 2 = 300

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>弹性盒子模型计算</title>
    <style>
    body { font-size:1em; line-height:1.5em; padding:50px; color:#333; font-family:"微软雅黑"; }
    
    .box { width:1000px; background:#EBEBEB; border:10px solid #CCC; display:-webkit-box; -webkit-box-orient:horizontal; }
    .box div { padding:50px; border:20px solid #00e5ed; color:#FFF; text-shadow:2px 2px 2px rgba(0, 0, 0, .5); width:0; }
    .box .div1 { -webkit-box-flex:2; background:#12d698; }
    .box .div2 { -webkit-box-flex:1; background:#128ed6; }
    .box .div3 { -webkit-box-flex:1; background:#efb017; }
    .box .div4 { width:200px; background:gray; margin-left:60px; }
    </style>
    </head>
    
    <body>
    <h1>弹性和模型计算</h1>
    <div class="box">
      <div class="div1">DIV1</div>
      <div class="div2">DIV2</div>
      <div class="div3">DIV3</div>
      <div class="div4">DIV4</div>
    </div>
    
    <p>弹性盒模型宽度为0的前提下,如果弹性盒模型内设置了具体宽度,计算盒模型的宽度时,应该用父级的宽度减去具体设置的值,然后剩下的宽度按照flex等分计算。<br />
    也可理解为:父级减去内部所有固定宽度后,按照flex总份数等分,每个盒子再乘以所占份数最后加上自己的固定宽度(margin、padding、border)。
    </p>
    <h2>示例:</h2>
    <p>
    此例设置DIV1、DIV2、DIV3为弹性盒模型,DIV1占2份,DIV2、DIV3各占1份。DIV4为固定宽度200px,左边距60px。所有DIV设置内边距50px,边框20px。父级总宽1000px。<br /><br />
    第一步:用父级总宽减去所有固定宽度,4个div共有8个50px的横向padding、8个20px的横向border,1个200px的固定div,以及一个横向60px的margin<br />
    1000 - 50 * 8 - 20 * 8 - 200 - 60 = 180<br /><br />
    第二步:将剩下的宽度按照flex的份数等分,div1为2、div2为1、div3为1,一共为4份<br />
    180 / 4 = 45<br /><br />
    结果:<br />
    DIV1的宽度为 45 * 2 + 50 * 2 = 190<br />
    DIV2的宽度为 45 * 1 + 50 * 2 = 145<br />
    DIV3的宽度为 45 * 1 + 50 * 2 = 145<br />
    DIV4的宽度为 200 + 50 * 2 = 300
    </p>
    </body>
    </html>
  • 相关阅读:
    openstack 之Queen版本安装完成创建实例状态报错为ERROR
    重启nova-scheduler服务,报错Login was refused using authentication mechanism AMQPLAIN
    Failed to contact the endpoint at http://controller:35357/ for discovery. Fallback to using that endpoint as the base url.
    在centos系统的/etc/hosts添加了 当前主机的 ‘ NAT分配的IP controller’,RabbitMQ添加用户报错。
    一对简单的IPV6 SOCKET代码
    字节转换函数
    libevent笔记6:ssl bufferevent
    libevent笔记5:水位watermarks
    libevent笔记4:Filter_bufferevent过滤器
    libevent笔记3:evbuffer
  • 原文地址:https://www.cnblogs.com/baie/p/3158509.html
Copyright © 2011-2022 走看看