这篇笔记是我在上Baidu IFE课程进行Task Two时整理的一些资料。
CSS盒子模型
reference: http://www.runoob.com/css/css-tutorial.html and http://www.jikexueyuan.com/course/164_6.html?ss=1
CSS盒子模型概述
CSS盒子模型中,内部红色部分为内容,绿色部分为内边界,黄色线处为边框,外部银白色处外边距。
可以看到height与width所指定的高和宽为内容部分的尺寸。
内边距
内边距在content外,边框内
内边距属性:
示例:
1 | <td style="padding:100px">内边距</td> |
上面代码的执行效果如下,会在表格内部<td> 上下左右各填充100px的空余空间。padding-right , padding-left , padding-top , padding-bottom 具有类似的语义。

边框
- CSS边框:
- 可以创建出效果出色的边框,并且可以应用于任何元素
- 边框样式:
- border-style: 定义了10个不同的非继承样式,包括none
- 边框的单边样式:
- border-top-style
- border-left-style
- border-right-style
- border-bottom-style
- 边框的宽度:
- border-width
- 边框的单边宽度:
- border-top-width
- border-left-width
- border-right-width
- border-bottom-width
- 边框的颜色:
- border-color
- 边框的单边颜色:
- border-top-color
- border-left-color
- border-right-color
- border-bottom-color
border-style 测试示例:
我们在style.css 中编写如下的代码:
1 | p{ |
在我们的html编写如下代码:
1 |
|
在网页中显示效果如下:

border-width 测试示例:
我们在style.css 中添加代码成如下:
1 | p{ |
在网页中显示效果如下:

其他一些测试示例:
1 | p{ |
效果如下:

其中:
border-radius用于设置边框的圆角;border用于设计边框的边界,第一个参数是线的粗细,第二个参数为边框边界的样式,第三个为颜色;box-shadow用于设计边框阴影:第一个参数表示向右移动10px,第二个参数表示向下移动10px,第三个参数表示阴影的透明度,第四个参数表示阴影的颜色。
外边距
Margin
margin清除周围的元素(外边框)的区域。margin没有背景颜色,是完全透明的
margin可以单独改变元素的上,下,左,右边距。也可以一次改变所有的属性。

如下图所示,css代码中为设计body 的margin 时,html代码中<div> 所包裹的部分无法覆盖整个浏览器。这就是body的外边距。

当在css中添加如下代码时:
1 | body{ |
显示效果如下:

盒子模型设计综述
盒子模型在html中用<div> 来表示,如下:
1 | <div class="container"> |
在css用代码如下:
1 | body{ |
最后显示效果如下:

外边距合并
外边距合并就是一个叠加的概念

两个盒子会自动合并。
1 | <div class="container"> |
1 | body{ |
显示效果如下:

如果改变
.container{} 中margin 的值为50px ,则显示效果如下:
merge合并所遵循是多的那一部分。
### CSS3中盒子的类型
<div> 属于block,<span> 属于inline,他们的显示效果如下,其中<div>占据两行属性,<span>为内联元素,占据一行。
通过在
<style>中定义display可以改变其显示属性,代码如下:1 | <style> |
显示效果如下:

inline-block属性
inline-block与inline具有相同的显示类型,那么为什么要出现inline-block类型呢?inline 不能改变宽度和高度,但inline-block可以设置宽度和高度。如下,我们设置inline-block和inline的width属性都为300px,代码如下:
1 | <style> |
显示效果如下:
