>웹 프론트엔드 >HTML 튜토리얼 >CSS3: box-sizing 属性的简单认识_html/css_WEB-ITnose

CSS3: box-sizing 属性的简单认识_html/css_WEB-ITnose

WBOY
WBOY원래의
2016-06-24 11:38:481243검색

定义和用法:

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{    	width: 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;    }

  

实现效果:

 

 

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.