zoukankan      html  css  js  c++  java
  • CSS3: box-sizing 属性的简单认识

    定义和用法:

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

    默认值:content-box;

    继承性:无;

    css版本:css3

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

    属性值说明:

    content-box

    默认值;由css2.1规定的宽度高度行为;宽度和高度分别应用到元素的内容框;在宽度和高度之外绘制元素的内边距和边框。

    可以理解为:对元素设置border和padding最终会改变元素的width,height

     

    border-box

    为元素设定的宽度和高度决定了元素的边框盒;

    即:为元素指定的任何内边距和边框都将在已设定的宽度和高度内进行绘制;

    内容的宽度=已设定的宽度和高度 - 边框和内边距。

    可以理解为:对元素设置border和padding不会改变元素的width,height;只在元素既定的宽和高范围内进行绘制

     

    inherit

     规定应从父元素继承 box-sizing 属性的值。

     我们可以利用该属性值,通过对顶层父元素设置 box-sizing ,让子元素继承的方式,轻松实现box-sizing 设定

    如:

    html{
    box-sizing:border-box;
    }
    *,*:before,*:after{
    box-sizing:inherit;
    }

      

    示例:

    在线演示:http://codepen.io/anon/pen/LVvrdy

    <div class="box box1">
    	 box-sizing:border-box
    	 为元素设定的宽度和高度决定了元素的边框盒。
         就是说,为元素指定的任何内边距和边框都将在已设定的宽度和高度内进行绘制。
         通过从已设定的宽度和高度分别减去边框和内边距才能得到内容的宽度和高度。
    </div>
    <div class="box box2">
    	box-sizing:content-box
    	这是由 CSS2.1 规定的宽度高度行为。
    	宽度和高度分别应用到元素的内容框。
    	在宽度和高度之外绘制元素的内边距和边框。
    </div>
    <div class="box box3">
    	box-sizing:inherit;
    	从父元素继承box-sizing属性
    </div>
    
        html{
        	box-sizing:border-box;
        }
        *,*:before,*:after{
        	box-sizing:inherit;
        }
        body{
         background-color:#eee;
        }
        .box{
        	 200px;
        	height: 200px;
        	padding: 10px;
        	margin-left: 25px;
        	float: left;
        	color:#fff;
        	font-size: 13px;
        	line-height: 1.5em;
        	border:5px solid #fff;
         box-shadow:0 1px 4px rgba(0,0,0,.15);
        }
        /*border-box:在宽度和高度之内绘制元素的内边距和边框*/
        .box1{
        	-moz-box-sizing:border-box;
        	-webkit-box-sizing:border-box;
        	box-sizing:border-box;
        	background-color: #33475f;
        }
        /*content-box:在宽度和高度之外绘制元素的内边距和边框 */
        .box2{
        	-webkit-box-sizing:content-box;
        	-moz-box-sizing:content-box;
        	box-sizing:content-box;
        	background-color: #9d55b8;
        }
        /*inherit:从父元素继承box-sizing属性*/
        .box3{
        	-webkit-box-sizing:inherit;
        	-moz-box-sizing:inherit;
        	box-sizing:inherit;
        	background-color: #56abe4;
        }
    

      

    实现效果:

     

  • 相关阅读:
    java中的lamda表达式
    Arrays.sort()中Lambda表达式
    检索中的函数及不同范围的处理
    2014.6.24
    2014.6.23
    第六天培训
    第五天培训
    第四天培训
    第三天培训!
    第二天培训
  • 原文地址:https://www.cnblogs.com/kevinCoder/p/4729507.html
Copyright © 2011-2022 走看看