(转)CSS3全局实现所有元素的内边距和边框不增加

全局设置 border-box 很好,首先它符合直觉,其次它可以省去一次又一次的加加减减

它还有一个关键作用——让有边框的盒子正常使用百分比宽度。但是使用了 border-box 可能会与一些依赖默认 box-sizing 的库冲突

不过这种问题大多数时候可以通过把交由这些库处理的块的 box-sizing 设置回 content-box 来解决。

推荐写法是

1 html {
2   box-sizing: border-box;
3 }
4 *, *:before, *:after {
5   box-sizing: inherit;
6 }

选择器 * 无法覆盖到伪元素,所以需要给 :before 和 :after 分别设置。而通过继承的方式应用到所有元素,需要时可以方便的设置某个元素及其后代元素的 box-sizing 回 content-box。

外文资料链接:css-tricks

转载地址:box-sizing: border-box 把所有元素的内边距和边框不再会增加它的宽度,这样写好吗?

时间: 2024-08-24 10:42:38

(转)CSS3全局实现所有元素的内边距和边框不增加的相关文章

box-sizing:border-box 将元素的内边距和边框都设定在宽高内计算

http://www.w3school.com.cn/cssref/pr_box-sizing.asp box-sizing: content-box|border-box|inherit; 值 描述 content-box 这是由 CSS2.1 规定的宽度高度行为. 宽度和高度分别应用到元素的内容框. 在宽度和高度之外绘制元素的内边距和边框. border-box 为元素设定的宽度和高度决定了元素的边框盒. 就是说,为元素指定的任何内边距和边框都将在已设定的宽度和高度内进行绘制. 通过从已设定

css细节复习笔记——内边距、边框和外边距

一个元素的内边距.边框和外边距属性会影响着整个文档如何布局,更重要的是,它们会严重影响给定元素的外观. 高度和宽度 这两个属性不能应用到行内非替换元素,其高度和宽度由链接的内容确定,而不是由创作人员确定.正常流中的元素很少有设定的高度. 外边距和内边距 如果元素有背景,则会影响使用内边距和外边距,因为背景会延伸到内边距中,但不会延伸到外边距.为元素指定的内边距和外边距会影响元素的背景何时结束. 为内容区的个边增加10像素空白,margin:10px,类似于html的hspace和vspace,设

CSS框模型(框模型概述、内边距、边框、外边距、外边距合并)

CSS 框模型概述 CSS 框模型 (Box Model) 规定了元素框处理元素内容.内边距.边框 和 外边距 的方式. 元素框的最内部分是实际的内容,直接包围内容的是内边距.内边距呈现了元素的背景.内边距的边缘是边框.边框以外是外边距,外边距默认是透明的,因此不会遮挡其后的任何元素. 内边距.边框和外边距都是可选的,默认值是零.但是,许多元素将由用户代理样式表设置外边距和内边距.可以通过将元素的 margin 和 padding 设置为零来覆盖这些浏览器样式.这可以分别进行,也可以使用通用选择

CSS 框模型——规定了元素框处理元素内容、内边距、边框和外边距的方式

转自:http://www.w3school.com.cn/css/css_boxmodel.asp 要知道在父元素:float, rel, abs位置情况下,box模型的变换情况,请见:http://www.cnblogs.com/hh54188/archive/2010/12/28/1919078.html,此外,对于如何计算父元素的width和height,该文章也说明了~ CSS 框模型概述 元素框的最内部分是实际的内容,直接包围内容的是内边距.内边距呈现了元素的背景.内边距的边缘是边框

固定布局(为栏设定内边距和边框)

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>title</title> <link rel="stylesheet" type="text/css" href="./normalize.css"> <script> (function() { if (!

注意padding-top 百分比定义基于父元素宽度的百分比上内边距!!是基于宽度

定义和用法 padding-top 属性设置元素的上内边距(空间). 说明 该属性设置元素上内边距的宽度.行内非替换元素上设置的上内边距不会影响行高计算,因此,如果一个元素既有内边距又有背景,从视觉上看可能延伸到其他行,有可能还会与其他内容重叠.不允许指定负内边距值. 注释:不允许使用负值. 默认值: 0 继承性: no 版本: CSS1 JavaScript 语法: object.style.paddingTop="10px" 可能的值 值 描述 length 规定以具体单位计的固定

jquery获取元素的所有宽高(包括内边距和外边距)

width() - 返回元素的宽度.height() - 返回元素的高度.innerWidth() 方法返回元素的宽度(包括内边距).                    innerHeight() 方法返回元素的高度(包括内边距).                    outerWidth() 方法返回元素的宽度(包括内边距和边框).             outerHeight() 方法返回元素的高度(包括内边距和边框).        outerWidth(true) 方法返回元素的

CSS之盒模型边框,内边距,外边距,阴影,圆角

盒子模型 盒子模型 盒子模型有元素内容.边框(border).内边距(padding).外边距(margin)组成: 盒子里面的文字和图片等元素是内容区域: 盒子的厚度 我们称为 盒子的边框: 盒子内容与盒子之间的距离是内边距: 盒子与盒子之间的距离是外边距: 标准盒子模型 盒子边框(border) border: border-width || border-style || border-color 属性 作用 border-width 定义边框粗细,单位是 px border-style

内边距《CSS权威指南》读书笔记

元素框的内边距在边框和内容区之间,属性为padding. 注意:内边距绝对不能为负 属性值:接受任何长度值或百分数值. 默认:元素默认没有内边距,段落之间的间隔传统上只由外边距保证.所以边框和元素本身的内容非常接近,所以在设置边框的同时最好增加内边距. 上下内边距是不会像外边距那样合并的. 使用内边距而不是外边距来分割段落的好处:可以在段落之间插入分隔边框,而这些边框在外观上会构成一条实线. 百分数值和内边距 和外边距一样,内边距也可以设置百分数值,相对于父元素的width计算. 单边内边距 和