<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
<style type="text/css">
.block {
width: 200px
height:200px
padding: 30px
background-color: red
border-style:solid
border-width:10px
border-color:green
//border:10px solid yellow
//border-radius: 20px
//margin:auto
}
</style>
</head>
<body>
<div class="block">border</div>
</body>
</html>
--兄弟元素margin合并
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style type="text/css">
body {
background: pink
}
.div {
//overflow: hidden
//margin: 0 auto
width: 300px
height: 600px
background: #aaa
}
.div1 {
width: 200px
height: 200px
background: red
//margin: 50px 0px
//float: left
}
.div2 {
width: 200px
background: green
//margin: 50px 0px
height: 200px
//float: left
}
</style>
</head>
<body>
<div class="div">
<div class="div1"></div>
<div class="div2"></div>
</div>
</body>
</html>
----父子元素margin合并
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
<style type="text/css">
body {
background: pink
}
.div1 {
//margin-top: 20px
width: 450px
height: 450px
background: #aaa
//overflow:hidden
//border:1px solid red
}
.div2 {
width: 200px
height: 200px
background: red
//margin-top: 50px
}
</style>
</head>
<body>
<div class="div1">
<div class="div2"></div>
</div>
</body>
</html>
--box-sizing
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
<style type="text/css">
.group {
/* background-color: blue*/
overflow: hidden
}
.block {
width: 33.33%
padding: 20px
float: left
//box-sizing: border-box
}
.red {
background-color: red
//box-sizing: conten-box
//overflow: hidden
//outline:#00FF00 dotted thick
}
.green {
background-color: green
}
.gray {
background-color: gray
//box-sizing: border-box
}
</style>
</head>
<body>
<div class="group">
<div class="block red">1</div>
<div class="block green">2</div>
<div class="block gray">3</div>
</div>
</body>
</html>
--盒子显示(display)类型
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
<style>
.background{
background-color:#F60
margin-bottom:5px
margin-left:5px
height:50Px
}
.display1{
display:block
}
.display2{
display:inline
//display:inline-block
}
</style>
<div class="background ">Div默认为 block</div>
<div class="background ">Div默认为 block</div>
<div class="background ">Div默认为 block</div>
<div class="background display2">修改为 inline</div>
<div class="background display2">修改为 inline</div>
<div class="background display2">修改为 inline</div>
<span class="background display1">加了block属性</span>
<span class="background display1">加了block属性</span>
<span class="background display1">加了block属性</span>
<span class="background">没加block属性</span>
<span class="background">没加block属性</span>
<span class="background">没加block属性</span>
</body>
</html>
转自 菜鸟教程
所有HTML元素可以看作盒子,在CSS中,"box model"这一术语是用来设计和布局时使用。
CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括: 边距(外边距) , 边框 , 填充(内边距) ,和 实际内容 。
盒模型允许我们在其它元素和周围元素边框之间的空间放置元素。
下面的图片说明了盒子模型(Box Model):
转自 链接
盒子模型有两种,分别是W3C盒子模型(标准盒模型)和IE盒子模型(怪异盒模型)
1.标准盒模型中width指的是内容区域content的宽度;height指的是内容区域content的高度。
2.标准盒模型下盒子的大小 = content + border + padding + margin
1.怪异盒模型中的width指的是内容、边框、内边距总的宽度(content + border + padding);height指的是内容、边框、内边距总的高度
2.怪异盒模型下盒子的大小=width(content + border + padding) + margin
建议不要给元素添加具有指定宽度的内边距,而是尝试将内边距或外边距添加到元素的父元素和子元素。
即box-sizing属性可以指定盒子模型种类,content-box指定盒子模型为W3C(标准盒模型),border-box为IE盒子模型(怪异盒模型)。
原文链接: https://blog.csdn.net/qq_41145685/article/details/104464232—————————————————————
一、什么是盒子模型(Box Model)
盒子想必大家都是知道的吧!
生活中我们的快递有盒子包装着,买的蛋糕也是有盒子包装着,我们的礼品也是被盒子包装着。
模型是什么呢?
它是主观意识借助实体或者虚拟表现构成客观阐述形态结构的一种表达目的的物件
css中的盒子模型它是可以对元素进行布局,设置距离的大小,这里面包括含有外边距、边框、内边距和内容主体这四个部分。
二、CSS中的标准盒子模型(W3c标准的盒子模型)
CSS中的盒子模型也是主观意识借助实体或者虚拟表现构成客观阐述形态结构的一种表达目的的物件,在网页的实体中我们是看不见实际盒子模型的。但是我们能够清楚的看到它起到的作用。
1、盒子模型由” content(内容)+padding(内边距)+border(边框)+margin(外边距)“四个部分组成
Margin(外边距) - 清除边框外的区域,外边距是透明的。
Border(边框) - 围绕在内边距和内容外的边框。
Padding(内边距) - 清除内容周围的区域,内边距是透明的。
Content(内容) - 盒子的内容,显示文本和图像。
2、标准盒子模型的计算
如图:
标准的盒子模型的大小是:content(区域内容大小)+padding(内边距)+border(边框)+margin(外边距);
注:标准盒子的初始设置宽高大小不包含padding、border和margin的大小。
三、怪异盒子模型(IE标准的盒子模型)
1、怪异盒模型也叫IE盒子模型
怪异盒主要表现在IE内核浏览器中,当前大部分浏览器支持的是W3C的标准盒子模型,不过其他浏览器也保留了IE盒子模型的支持,需要在CSS中添加触发怪异盒的条件。
怪异盒子(IE盒子模型)的触发条件:
(1) 给元素添加CSS3属性box-sizing:border-box(注:所以如果用CSS3新属性,就不要考虑低版本浏览器了)
(2)文档结构的doctype不写,这个是在IE8 IE7 IE6 IE5等低版本上有,测试可以在win7系统上比较老旧的IE浏览器上,win10自带的新IE浏览器不可以。
2、怪异盒子(IE盒子模型)模型的计算
如图可见添加了怪异盒的div盒子宽度变小了。
标准的盒子模型的大小是:content(区域内容大小)+margin(外边距);
注:怪异盒子的初始设置宽高大小包含padding、border大小在内,但不包含margin的大小。