css、自动适配box-sizing属性

神奇的box_sizing

box-sizing 的CSS属性是为了解决传统的盒子模型不直接而产生的。
当你设置一个元素为 box-sizing: border-box; 时,此元素的内边距和边框不再会增加它的宽度。

可选值

box-sizing: inherit;
box-sizing: content-box; //默认,padding内
box-sizing: border-box; //border及其内部空间

例子、没有box-sizing的时候

  <!DOCTYPE html>  
  <html lang="en">   
  <head>      
    <meta charset="UTF-8"> 
   <title> box-size</title>  
   <style>           
     .container  {             
           width: 50%;            
          border: 1px solid #f00;      
         }       
      .box{      
          width: 100%;     
           height: 200px;      
           padding: 50px;        
            border: 10px solid #1c94c4;      
            background: rgba(14,132,52,0.5);    
        }           
     .box1{          
        -webkit-box-sizing: border-box;       
           -moz-box-sizing: border-box;        
          box-sizing: border-box;   
       }      
      </style>   
   </head>   
      <body>   
         <div class="container">      
          <div class="box"> box</div>  
          <div class="box  box1">  box1 </div>   
       </div> 
      </body>
  </html>

效果图:

box_sizing.png

如图所示,padding和border会把.box撑开,达到不到想要的效果,这是就可以使用box-sizing属性了,如下,只需为box加上box-sizing: border-box就行了,当然margin问题还是存在的,border-box意味着只会压缩border及其以内的内容,外部就管不到了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,839评论 1 92
  • display: none; 与 visibility: hidden; 的区别 联系:它们都能让元素不可见 区别...
    纹小艾阅读 1,714评论 0 1
  • H5移动端知识点总结 阅读目录 移动开发基本知识点 calc基本用法 box-sizing的理解及使用 理解dis...
    Mx勇阅读 4,659评论 0 26
  • 移动开发基本知识点 一.使用rem作为单位 html { font-size: 100px; } @media(m...
    横冲直撞666阅读 3,545评论 0 6
  • 马上就年底了,快回家过年了,你还是单身么?如果是,那你要准备好相亲了。可是,亲爱的,你怎么沦落到相亲了,年初...
    橙橙长白白阅读 342评论 0 0