详细解读CSS——盒子模型(含详解)

简介: 详细解读CSS——盒子模型(含详解)

一、什么是盒子模型

1、介绍

HTML文档中的每个元素都被比喻成矩形盒子, 盒子模型通过四个边界来描述:margin(外边距),border(边框),padding(内填充),content(内容区域),如果把一个盒子比喻成一个壁挂相片,那么

#外边距margin ===== 一个相框与另外一个相框之间的距离

#边框border ====== 边框指的就是相框

#内边距padding ===== 内容/相片与边框的距离

#宽度width/高度height ===== 指定可以存放内容/相片的区域

   提示:可以通过谷歌开发者工具查看盒子的各部分属性

2、盒子模型举例

Title

/html { /

/ height: 100%;/

/}/

/body { /

/ height: 100%;/

/}/

/.box1 { /

/ width: 100%;/

/ height: 100%;/

/ background-color: red;/

/}/

.sp1 {

Width</span>: 200px;

Height</span>: 200px;

background-color: red;

/display: inline-block;/

display: none;

/visibility: hidden;/

}

.sp2 {

Width</span>: 200px;

Height</span>: 200px;

background-color: green;

display: inline-block;

}

p span {

color: red;

}

你好

你好

你好ayca

盒子模型

二、盒子模型的宽度和高度

1、介绍

#1、内容的宽度和高度

通过标签的width和height属性设置

#2、元素/盒子模型的宽度和高度

宽度= 左边框 + 左内边距 + width(内容的宽) + 右内边距 + 右边框高度

高度= 。。。。

#3、元素/盒子模型空间的宽度和高度

宽度= 左外边距 + 左边框 + 左内边距 + width(内容的宽) + 右内边距 + 右边框高度 + 右外边距

高度= 。。。。

2、练习1:边框

Title

.box1 {

Width</span>: 200px;

Height</span>: 200px;

background: yellow;

/border: 1px dotted red;/

/border-width: 1px 2px 3px 4px;/

/border-style: solid dotted dashed double;/

/border-color: red green blue black;/

border: 1px dotted red;

/border-radius: 20px;/

border-radius: 50%;

text-align: center;

line-Height</span>: 200px;

}

1111

练习1

3、练习2:内边距

Title

{

padding: 0;

margin: 0;

}

div {

Width</span>: 150px;

Height</span>: 150px;

}

.box1 {

/height: 100px;/

box-sizing: border-box;

border: 1px solid red;

padding-top: 50px;

}

.box2 {

Width</span>: 100px;

border: 1px solid green;

padding-left: 50px;

}

.box3 {

border: 1px solid blue;

padding-right: 50px;

}

.box4 {

border: 1px solid yellow;

padding-bottom: 50px;

}

.box5 {

/width: 50px;/

/height: 50px;/

box-sizing: border-box;

border: 1px solid aqua;

padding: 50px;

}

.boxx {

Width</span>: 20px;

Height</span>: 20px;

background-color: red;

}

22222

333

4444

5555

内边框

4、练习3:外边距

Title

{

padding: 0;

margin: 0;

}

div {

Width</span>: 150px;

Height</span>: 150px;

}

.box1 {

border: 1px solid red;

/margin-top: 100px;/

/margin-left: 100px;/

margin-bottom: 70px;

padding-top: 30px;

padding-left: 30px;

box-sizing: border-box;

}

.box2 {

border: 1px solid green;

margin-top: 60px;

}

.box3 {

border: 1px solid blue;

display: inline-block;

margin-right: 50px;

}

.box4 {

border: 1px solid yellow;

display: inline-block;

margin-left: 50px;

}

.box5 {

border: 1px solid grey;

}

.boxx {

Width</span>: 20px;

Height</span>: 20px;

background-color: red;

/margin-top: 30px;/

/margin-left: 30px;/

}

22222

333

4444

5555

外边距

5、练习4:为何height=100%不起作用

如何让 height:100%起作用:你需要给这个元素的所有父元素的高度设定一个有效值。换句话说,你需要这样做:

现在你给div的高度为100%,它有两个父元素和。为了让你的div的百分比高度能起作用,你必须设定和的高度。

这样这个div的高度就会100%了

练习4

三、css显示模式:块级、行内、行内块级

在HTML中HTML将所有标签分为两类,分别是容器级和文本级

在CSS中CSS也将所有标签分为两类,分别是容器级是块级元素和行内元素

#1、HTML中容器级与文本级

容器级标签:可以嵌套其他的所有标签

div、h、ulli、dl>dt+dd

文本级标签:只能嵌套文字、图片、超链接

span、p、buis、strong、em、ins、del

#2、CSS中块级与行内

块级:块级元素会独占一行,所有的容器类标签都是块级,文本标签中的p标签也是块级

div、h、ul、ol、dl、li、dt、dd //代码效果参考:http://www.zidongmutanji.com/zsjx/533345.html

还有标签p

行内:行内元素不会独占一行,所有除了p标签以外的文本标签都是行内

span、buis、strong、em、ins、del

#3、块级元素与行内元素的区别

1、块级元素block

独占一行

可以设置宽高

若没有设置宽度,那么默认和父元素一样宽(比如下例中的div的父元素是body,默认div的宽就是body的宽)

若没有设置宽高,那么就按照设置的来显示

2、行内元素inline

不会独占一行

不可以设置宽高

盒子宽高默认和内容一样

3、行内块级元素inline-block

不会独占一行

可以设置宽高

举例:

/块级元素/

div,p,h1 {

background-color: red;

Width</span>: 200px;

Height</span>: 100px;

}

/行内元素/

span,b,strong {

background-color: blue;

Width</span>: 200px;

Height</span>: 100px;

}

/行内块级元素/

img {

Width</span>: 100px;

Height</span>: 100px;

}

我是div

我是段落

我是标题

我是span

我是加粗

我是强调

举例

四、CSS显示模式转换

属性描述值

display

可以通过标签的display属性设置显示模式

none HTML文档中元素存在,但是在浏览器中不显示。一般用于配合JavaScript代码使用

block 块级

inline 行内

inline-block 行内块级

display:"none"与visibility:hidden的区别:

visibility:hidden: 可以隐藏某个元素,但隐藏的元素仍需占用与未隐藏之前一样的空间。也就是说,该元素虽然被隐藏了,但仍然会影响布局。

display:none: 可以隐藏某个元素,且隐藏的元素不会占用任何空间。也就是说,该元素不但被隐藏了,而且该元素原本占用的空间也会从页面布局中消失。

五、div与span

布局都是用块级元素,而行内元素是控制内容显示的。

1、div标签

一般用于配合css完成网页的基本布局

2、span标签

一般用于配合css修改网页中的一些局部信息,比如一行文字我们只为一部分加颜色

我是egon

3、div和span有什么区别?

div一般用于排版,而span一般用于局部文字的样式

1、站在HTML的角度:div是一个块级元素、独占一行,而span是一个行内元素、不会单独占一行

2、站在CSS的角度:div是一个容器级标签,而span是一个文本级标签

举例:

div与span标签

.header {

margin: 0 auto;

width: 980px;

height: 100px;

background: pink;

margin-bottom: 10px;

}

.content {

margin: 0 auto;

width: 980px;

height: 500px;

background: #e9ca37;

margin-bottom: 10px;

}

.footer {

margin: 0 auto;

width: 980px;

height: 100px;

background: #7e1487;

}

.logo {

width: 200px;

height: 50px;

background: #bfccdb;

float: left;

margin: 20px;

}

.nav {

width: 600px;

height: 50px;

background: palegreen;

float: right;

margin: 20px;

}

.aside {

width: 250px;

height: 460px;

background: #cccccc;

float: left;

margin: 20px;

}

.article {

width: 650px;

height: 460px;

background: green;

float: right;

margin: 20px;

}

span {

color: red;

}

相关文章
|
2月前
|
前端开发
如何设置 CSS 盒子模型的边框样式?
CSS盒子模型的边框样式可以通过`border`属性设置,包括边框宽度、样式和颜色。例如:`border: 2px solid red;` 设置了2像素宽的红色实线边框。也可分别设置四边,如`border-top`、`border-right`等。
|
2月前
|
前端开发 开发者
css两种盒子模型
在CSS中,有两种盒子模型:标准盒子模型和IE盒子模型(怪异盒子模型)。标准盒子模型中,`width`和`height`仅指内容区的尺寸,总宽度和高度还包括内边距、边框和外边距。IE盒子模型中,`width`和`height`包括内容区、内边距和边框,总宽度和高度仅加外边距。通过`box-sizing`属性可以切换这两种模型,`box-sizing: content-box;`表示标准盒子模型,`box-sizing: border-box;`表示IE盒子模型。
|
2月前
|
前端开发 容器
给 CSS 盒子模型添加边框时,需要注意什么?
在给CSS盒子模型添加边框时,需要注意边框的宽度、样式和颜色,以及它如何影响盒子的总尺寸和布局。边框会增加盒子的总宽度和高度,可能需要调整其他属性以保持布局的完整性。
|
3月前
|
前端开发
CSS属性:盒子模型
CSS属性:盒子模型
38 0
|
1月前
|
前端开发
CSS 盒子模型
CSS 盒子模型
24 4
|
2月前
|
前端开发
彻底搞懂css盒子模型
【10月更文挑战第1天】
63 9
|
4月前
|
前端开发 开发者
【前端大揭秘】CSS盒子模型的爱恨情仇:一场关于标准与IE模型的精彩对决!
【8月更文挑战第26天】本文深入探讨CSS中的两大盒子模型——标准盒模型与IE盒模型。通过理论解析与实例代码,清晰展示了两种模型下元素尺寸的构成方式及其应用场景。标准盒模型适合精确控制内容区尺寸,而IE盒模型在处理固定宽度元素时更为直观。掌握这些知识将帮助前端开发者在实际项目中做出更优的设计决策,提升网页布局的质量与美观性。
38 1
|
4月前
|
前端开发
HTML+CSS基础知识(2)选择器的使用、盒子模型的讲解、列表的使用
该博客文章详细介绍了HTML和CSS的基础知识,包括CSS样式的应用方式、语法规则、选择器的使用、盒子模型、内边距、外边距、元素的显示类型以及overflow属性处理溢出内容的方法,并通过代码示例和测试结果截图展示了这些知识点在网页设计中的应用。
HTML+CSS基础知识(2)选择器的使用、盒子模型的讲解、列表的使用
|
6月前
|
前端开发 开发者
CSS盒子模型(如果想知道CSS有关盒子模型的知识点,那么只看这一篇就足够了!)
CSS盒子模型(如果想知道CSS有关盒子模型的知识点,那么只看这一篇就足够了!)
|
5月前
|
前端开发
CSS:盒子模型
CSS:盒子模型