zoukankan      html  css  js  c++  java
  • border-box与content-box的区别

    ㈠box-sizing 属性

    ⑴box-sizing 属性允许您以特定的方式定义匹配某个区域的特定元素。

    ⑵语法:box-sizing: content-box|border-box|inherit;

    ⑶取值

     

    ㈡content-box相关内容

    ⑴padding和border不被包含在定义的width和height之内。

    对象的实际宽度等于设置的width值和border、padding之和;

    即 ( Element width = width + border + padding )

    此属性表现为标准模式下的盒模型。

    ⑵审查元素看示例

    ①代码部分

     

    ②盒模型部分

     

    ㈢border-box相关内容

    ⑴padding和border被包含在定义的width和height之内。

       对象的实际宽度就等于设置的width值,

       即使定义有border和padding也不会改变对象的实际宽度;

       即 ( Element width = width )

       此属性表现为怪异模式下的盒模型。

    ⑵审查元素看示例

    ①代码部分

     

    ②盒模型部分

     

    ㈣具体示例对比两者区别

    ⑴content-box的示例代码如下

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>content-box示例</title>
    <style>
    .one{
        background-color:red;
        width:200px;
        height:200px;
        float:left;
        border:solid 1px;
        padding:10px
    }
    
    .two{
        background-color:yellow;
        width:200px;
        height:200px;
        float:left;
        border:solid 1px;
        padding:10px;
        box-sizing:content-box;
    }
    
    img{
        width:200px;
        height:200px;
    }
    </style>
    </head>
    <body>
          <div class=one>
               <img src=ym.jpg>
          </div>
    
          <div class=two>
          <img src=ym.jpg>
          </div>
    </body>
    
    </html>

    效果图:

     

    ⑵border-box的示例代码如下

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>border-box示例</title>
    <style>
    .one{
          background-color:red;
          width:200px;
          height:200px;
          float:left;
          border:solid 1px;
          padding:10px;
        }
    
    .two{
         background-color:yellow;
         width:200px;
         height:200px;
         float:left;
         border:solid 1px;
         padding:10px;
         box-sizing:border-box;
        }
    
    img{
         width:200px;
         height:200px;
        }
    
    </style>
    </head>
    <body>
          <div class=one>
                <img src=ym.jpg>
          </div>
          
          <div class=two>
                <img src=ym.jpg>
          </div>
    </body>
    
    </html>

    效果图:

    ★通过对比发现:

    content-box 的 width 不包括 padding 和 border

    border-box 的 width 包括 padding 和 border

    ㈤js测试box-sizing属性

    <style>
    div{
        background-color:red;
        width:200px;
        height:200px;
        border:solid 1px;
        padding:10px;
    }
    
    img{
         width:200px;
         height:200px;
        }
    </style>
    <div id="cs">
    <img src="ym.jpg">
    </div>
    <hr>
    <button onclick="document.getElementById('cs').style.boxSizing='content-box'">content-box</button>
    <button onclick="document.getElementById('cs').style.boxSizing='border-box'">border-box</button>

    效果如下:

    ⑴点击按钮 :

    ⑵点击按钮:

  • 相关阅读:
    poj 3304 Segments 直线 线段求交
    poj 1077 Eight 八数码 A*算法
    UESTC 1447 Area 凸包+旋转卡壳 求最大四边形面积
    ACM计算几何题目推荐(第二期)
    poj 2398 Toy Storage 叉乘
    ACM计算几何题目推荐 (第一期)
    (转载)Telnet协议详解及使用C# 用Socket 编程来实现Telnet协议
    jquery 表情编辑器
    (读书笔记)Asp.net Mvc 与WebForm 混合开发
    (转载)精简说明C#最基本的Socket编程示例
  • 原文地址:https://www.cnblogs.com/shihaiying/p/11589477.html
Copyright © 2011-2022 走看看