没有被广泛采用的box-sizing属性

在标准盒模型下设置的width和height只是内容的宽和高,但在设置了宽和高的情况下若还要设置border、margin、padding等时,会发生溢出的现象,因此需要将盒模型更改。

box-sizing 属性用来改变默认的 CSS 盒模型对元素宽高的计算方式。这个属性可以用于模拟那些非正确支持标准盒模型的浏览器的表现。

1、值

  • content-box

  默认值,标准盒模型。 width 与 height 只包括内容的宽和高, 不包括边框(border),内边距(padding),外边距(margin)。注意: 内边距, 边框 & 外边距 都在这个盒子的外部。 比如. 如果 .box {width: 350px}; 而且 {border: 10px solid black;} 那么在浏览器中的渲染的实际宽度将是370px;

  尺寸计算公式:width = 内容的宽度,height = 内容的高度。宽度和高度都不包含内容的边框(border)和内边距(padding)。

  • border-box (其实box-sizing:border-box就是采用怪异模式下的盒模型来计算宽和高的)。

  width 与 height 包括内边距(padding)与边框(border),不包括外边距(margin)。这是IE 怪异模式(Quirks mode)使用的 盒模型 。注意:这个时候外边距和边框将会包括在盒子中。比如  .box {width: 350px; border: 10px solid black;} 浏览器渲染出的宽度将是350px. 如果计算后的最内部的内容宽度为负值,都会被计算成0,内容还在,所以不可能通过border-box来隐藏元素。

  尺寸计算公式:width = border + padding + 内容的宽度,height = border + padding + 内容的高度。

2、浏览器支持情况

  支持目前的所有Firefox, Chrome, Safari, Opera版本的浏览器以及 IE8+以上的IE浏览器

时间: 2024-10-07 04:24:42

没有被广泛采用的box-sizing属性的相关文章

采用表达式树提升属性访问性能

项目背景, 采用贫血模式, 但希望在使用业务实体机业务规则上的数据属性,使用同一规则. 比如:在页面中, “RS_Department.Code" , "Department.Code"都可以正常访问. 业务实体类 直接使用Linq to Sql 自动生成的代码,跟数据库表一一对应. 如:RS_Requisition, RS_Department 业务规则类 实现数据库增删改查,扩展属性,其他业务规则等. public class Requisition : BLLTable

Webkit Box 模型属性备忘

-webkit-box-orient: horizontal||vertical 设置或检索弹性盒模型对象的子元素的排列方式.对应的脚本特性为boxOrient.需设置容器的display:-webkit-box; CSS样式: html,body,div{ margin:0px; padding:0px;} .orient{display:-webkit-box;-webkit-box-orient:horizontal; width:600px; margin:0 auto;} .orien

用户界面Css属性

1:resize属性 div{ border:2px solid; padding:10px 40px; width:300px; resize:both; overflow:auto; } resize 属性规定是否可由用户调整元素尺寸.当输入的元素超过输入框的宽度时候,自动出现滑动条,可以左右滑动. 2:Box Sizing属性:定义两个div并排 div.box { box-sizing:border-box; -moz-box-sizing:border-box; /* Firefox

通过获取input的值来设置box的style属性

在第一个input里输入属性的名字,在第二个input里输入单位,通过点击按钮,改变下面box的属性, 比如,在第一个input里输入width,第二个输入,200px,点击按钮,box,宽就会改变 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css">

CSS3与页面布局学习总结(二)——Box Model、边距折叠、内联与块标签、CSSReset

一.盒子模型(Box Model) 盒子模型也有人称为框模型,HTML中的多数元素都会在浏览器中生成一个矩形的区域,每个区域包含四个组成部分,从外向内依次是:外边距(Margin).边框(Border).内边距(Padding)和内容(Content),其实盒子模型有两种,分别是 ie 盒子模型和标准 w3c 盒子模型,加上了doctype声明,让所有浏览器都会采用标准 w3c 盒子模型去解释你的盒子.当设置一个元素的样式如下: <!DOCTYPE html> <html> <

移动端布局,C3新增属性

<html5拖拽> 1.给元素设置 draggable="true" 属性,这个元素就可以被拖拽了 <拖拽元素事件> 2.ondragstart 拖拽前触发得得事件 例:div1.ondragstart=function(){ //拖拽前 div1.style.background="blue": } 3.ondrag 拖拽前到拖拽结束连续触发 例:div1.ondrag=function(){ //拖拽中  div1.style.bord

js的offsetParent属性用法详解

js的offsetParent属性用法详解:此属性是javascript中较为常用的属性,对于它的良好掌握也是非常有必要的,下面就通过代码实例介绍一下它的用法,希望能够给需要的朋友带来一定的帮助.一.基本介绍:此属性可以返回距离指定元素最近的采用定位(position属性值为fixed.relative或者absolute)父级元素,如果父级元素中没有采用定位的元素,则返回body对象的引用.语法结构: obj.offsetParent 二.代码实例: <!DOCTYPE html> <

HTML+CSS总结/谈谈BFC与ie特有属性hasLayout

最近看了一篇总结ie常见bug的文章,里面提到ie多数的bug源于她的特有属性:hasLayout.这个属性以前也了解过一点,但没有深入去理解,于是查阅了一些相关的资料,现在在此来对这个属性作一下总结. 一.hasLayout的定义. 这里我就不一一敲了,直接复制百度的咯. 在ie中,一个元素要么自己对自身的内容进行计算大小和组织,要么依赖于父元素来计算尺寸和组织内容.为了调节这两个不同的概念,渲染引擎采用了 hasLayout 的属性,属性值可以为true或false.当一个元素的 hasLa

CSS部分属性的深入学习

先上个张鑫旭大神的政治课,来个一棒打醒(手动滑稽): 说说CSS学习中的瓶颈: 虽然自己水平不高,但是对于重构这方面工作一直不怎么喜欢,可能觉得比较没有新意,但是看了大神文章突然有点一棍打醒的感觉,突然觉得自己的CSS水平好烂.... 一.vertical-align ①.触发元素:行元素.设置有display:inline/display:inline-block的元素.表单元素(display:table-cell); 虽然vertical-align属性只会在inline-block水平的

CSS Display属性与盒模型

由于HTML流式文档的特性,页面布局往往是新手最为头疼的问题之中的一个. 每一个HTML元素都会渲染为一个Box,可分为inline Box和block Box. 依据display属性的不同.Box的呈现方式又有所不同. 本文首先引入CSS盒模型.然后通过不同的display属性分别介绍Box常见的呈现方式. Box Sizing:元素大小的计算方式 在HTML中.不论什么HTML元素都会被呈现为一个矩形.该矩形由内容.内边距.边框.外边距构成.举个样例: <style> .box-demo