css box模型content-box 和border-box

因为刚开始学,用了bootstrap的框架,有些东西可以用现成的,不用自己布局,后来发现如果要调比较精细的布局还是得自己写css,然后就开始一点点去掉bootstrap的布局,不然在原来bootstrap的css上改,没有完全理解bootstrap这个效果是怎么弄出来的话想去掉某个效果也很难,某些样式会和自己调的样式冲突,最终决定直接把整个bootstrap框架卸掉,全部用原来的

但是一卸调之后布局全变了,控件各种错位,完全想不明白为什么,width调的50%却占了70+%,于是去看了一下css box模型,最低下的兼容性注意事项说到

最终元素的总宽度计算公式是这样的:

总元素的宽度=宽度+左填充+右填充+左边框+右边框+左边距+右边距

元素的总高度最终计算公式是这样的:

总元素的高度=高度+顶部填充+底部填充+上边框+下边框+上边距+下边距


浏览器的兼容性问题

一旦为页面设置了恰当的 DTD,大多数浏览器都会按照上面的图示来呈现内容。然而 IE 5 和 6 的呈现却是不正确的。根据 W3C 的规范,元素内容占据的空间是由 width 属性设置的,而内容周围的 padding 和 border 值是另外计算的。不幸的是,IE5.X 和 6 在怪异模式中使用自己的非标准模型。这些浏览器的 width 属性不是内容的宽度,而是内容、内边距和边框的宽度的总和。

虽然有方法解决这个问题。但是目前最好的解决方案是回避这个问题。也就是,不要给元素添加具有指定宽度的内边距,而是尝试将内边距或外边距添加到元素的父元素和子元素。

IE8 及更早IE版本不支持 填充的宽度和边框的宽度属性设。

解决IE8及更早版本不兼容问题可以在HTML页面声明 <!DOCTYPE html>即可。

然后搜了一下bootstrap的box模型,搜到使用Bootstrap v3.3.4注意细节box-sizing,说到bootstrap用的是box-sizing: border-box;,个人也是觉得这个调控件位置调起来比较方便,所以采用的博主的做法,原来用bootstrap的排版撤掉bootstrap后还是没什么大问题的

* {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}
*:before,
*:after {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}
时间: 2024-11-15 19:39:33

css box模型content-box 和border-box的相关文章

CSS框模型以及maigin、border、padding属性

一.框模型(Box Model) 在CSS中所有元素都是框,都有高度(height).宽度(width).内边距(padding).边框(border).外边距(margin)等属性.框模型规定了元素框处理元素内容.内边距.边框和外边距的方式. 元素框的最内部分是实际内容,向外依次是内边距.边框和外边距.外边距默认是透明的,因此不会遮挡其后的任何元素.内边距.边框和外边距都是可选的,默认值是0. 注意:背景应用于内容和内边距.边框组成的区域. 在CSS中,width和height指的是内容区域的

CSS盒模型--边框设置:border: 1px solid red(像素 样式 颜色 ),border-bottom:1px dotted #ccc

盒模型--边框(一) 盒子模型的边框就是围绕着内容及补白的线,这条线你可以设置它的粗细.样式和颜色(边框三个属性). 如下面代码为div来设置边框粗细为2px.样式为实心的.颜色为红色的边框: div{ border:2px solid red; } 上面是border代码的缩写形式,可以分开写: div{ border-width:2px; border-style:solid; border-color:red; } 注意: 1.border-style(边框样式)常见样式有: dashed

css盒子模型之边框

1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Document</title> 6 <style type="text/css"> 7 .box{ 8 width:300px; 9 height: 390px; 10 background-color:

CSS盒模型(Box Model)

阅读目录 1. 什么是CSS盒模型 2. IE盒模型和W3C盒模型 3. CSS3属性box-sizing 4. 关于盒模型的使用 在最初接触CSS的时候,对于CSS盒模型的不了解,撞了很多次的南墙呀.盒模型是网页布局的基础,它制定了元素如何在页面中显示,如果足够地掌握,那使用CSS布局那将会容易得多. 1. 什么是CSS盒模型 盒模型,顾名思义,就是一个盒子.生活中的盒子,有长宽高,盒子本身也有厚度,可以用来装东西.页面上的盒模型我们可以理解为,从盒子顶部俯视所得的一个平面图,盒子里装的东西,

CSS 框模型(Box Model)

CSS 框模型(Box Model) 所有HTML元素可以看作盒子,在CSS中,"box model"这一术语是用来设计和布局时使用. CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容. 盒模型允许我们在其它元素和周围元素边框之间的空间放置元素. 下面的图片说明了框模型(Box Model): 不同部分的说明: Margin - 清除边框区域.Margin没有背景颜色,它是完全透明 Border - 边框周围的填充和内容.边框是受到盒子的背景颜

CSS 框模型( Box module )

框和布局 在 KB005: CSS 层叠 中已经介绍了 CSS 的重要之处.CSS 可以说是页面表现的基础, CSS 可以控制布局,控制元素的渲染. 布局是讲在电影画面构图中,对环境的布置.人物地位的调度.人物之间的关系.人物和景物的关系等的安排.大同小异,CSS 的布局也是一样. CSS 的布局,包含两个大部分: 元素:元素及其组成,类似电影布局中人物的高矮胖瘦.衣着配饰等,以及场景中的桌椅板凳,物品等等. 定位:元素的位置, 类似电影场景的中对环境的设置,人物作为元素,他们之间的关系会影响其

CSS盒子模型之CSS3可伸缩框属性(Flexible Box)

CSS盒子模型(下) 一.CSS3可伸缩框(Flexible Box) 可伸缩框属性(Flexible Box)是css3新添加的盒子模型属性,有人称之为弹性盒模型,它的出现打破了我们经常使用的浮动布局,实现垂直等高.水平均分.按比例划分等分布方式以及如何处理可用的空间.使该模型,可以很轻松的创建自适应浏览器窗口的流动布局或自适应字体大小的弹性布局.但是它有一定的局限性,在firefox.chrome这浏览器下需要使用它们的私有属性来定义:firefox(-moz).chrome(-webkit

[ css 深入理解 inline box 模型中line boxes ] css中深入理解line-height(行高)产生的原因:看不见的 line boxes

到底这个line-height行高怎么就产生了高度呢: 在inline box模型中,有个line boxes,这玩意是看不见的,这个玩意的工作就是包裹每行文字.一行文字一个line boxes.例如“艾佛森退役”这5个字,如果它们在一行显示,你艾佛森再牛逼,对不起,只有一个line boxes罩着你:但“春哥纯爷们”这5个字,要是竖着写,一行一个,那真是够爷们,一个字罩着一个line boxes,于是总计五个line boxes.line boxes什么特性也没有,就高度.所以一个没有设置he

css盒模型 Box Model

属性:内容(content).内边距(padding).边框(border).外边距(margin), CSS盒子模式都具备这些属性. CSS盒子模型就是在网页设计中经常用到的CSS技术所使用的一种思维模型. 盒子的分类:不同的元素产生的盒子类型可能不同, 一个元素,产生什么样的盒子,取决于它CSS的display属性 display:none:不生成盒子 display:inline:行盒 display:block:块盒 盒子组成: Margin(外边距) - 清除边框外的区域,外边距是透明