ASP.NET程序设计教程(C#版·第4版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.2.4 CSS 3的盒模型

盒模型(Box Model)是CSS 3用于指定网页元素应该如何呈现的一个重要概念。所有CSS 3的样式规定都与盒模型相关。

1.盒模型的概念

在网页设计中,每个元素都可以理解成一个由元素的内容(content)、内边距(padding)、边框(border)和外边距(margin)组成的矩形框。它们之间的关系如图2-10所示。

图2-10 W3C标准中CSS 3盒模型的示意图

从图2-10中可以看出下列关系。

包围content、padding、border和margin区域的外部矩形分别被称为content-box、padding-box、border-box和margin-box。

2.内外边距和盒大小

在实际应用中,使用最多的是外边距(margin)和内边距(padding)的设置。此外,还可以通过设置盒尺寸box-sizing来控制元素内容的宽和高。

(1)外边距(margin)

margin属性用于设置元素4个方向的外边距(margin-left、margin-right、margin-top和margin-bottom),它控制着环绕元素的矩形区域与相邻元素之间的距离。

需要注意以下两点。

1)margin-left和margin-right对所有元素都起作用,而margin-top和margin-bottom仅对块级元素(如p、h1~h6、div、table、tr和td等)起作用。

2)margin属性通常使用像素(px)作为尺寸单位,也可以设置为auto或百分比值,甚至可以设置成负值。

margin属性的常见用法如下。

(2)内边距(padding)

padding属性用于设置元素内部与元素边框之间4个方向的距离(padding-left、padding-right、padding-top和padding-bottom)。padding属性可以使用px、auto或百分比作为单位,但不能使用负值。padding属性的常见使用方法与margin十分相似,这里不再赘述。

(3)盒大小(box-sizing)

box-sizing属性主要用于设置元素的边界盒宽度和高度,以便使其以适当的大小适应某个区域的内容。box-sizing常用的取值有content-box(默认)和border-box。

content-box表示元素的宽度和高度为content的宽度和高度,padding和border不包含在内。例如,下列代码表示应用样式类class1的元素内容盒的宽度为200px,内边距为10px,使用蓝色实线边框。

代码表示元素的实际总宽度为:左右内边距20px(10+10)+左右边框10px(5+5)+内容宽度200px=230px。

下列语句省略了box-sizing属性,则默认box-sizing为content-box,故与上面的语句等效。

border-box表示content、padding和border都包含于元素的width和height中。下列代码表示元素的实际总宽度就是200px。

3.盒区域显示特效

在CSS 3中可以使用border-radius属性设置边框的圆角效果,使用border-image属性设置区域的图像边框效果,使用box-shadow属性设置区域的阴影效果。

(1)border-radius属性

CSS 3中提供了关于圆角边框的4个单独属性:border-top-left-radius(左上角)、border-top-right-radius(右上角)、border-bottom-right-radius(右下角)和border-bottom-left-radius(左下角)。每一个角都由水平半径和垂直半径两个值来表示,水平半径不等于垂直半径时为一个椭圆角,如图2-11所示。若属性值只有1个,则表示水平和垂直半径相等(圆角)。

图2-11 椭圆角示意

(2)border-image属性

CSS 3的border-image属性可以使用图像文件作为区域的边框,并自动将该图像分割为9部分进行处理,无须额外编写代码。其语法格式如下。

其中,val1~val4分别表示对图像进行分割时的上、右、下、左边距的大小。

(3)box-shadow属性

在CSS 3中使用box-shadow属性可为区域添加阴影效果。其语法格式如下。

其中,length1~length3表示阴影离开区域的横向距离、纵向距离和阴影的模糊半径;color表示阴影的颜色值。

演练2-2】盒区域显示特效示例。

启动Visual Studio,选择“文件”→“新建”→“网站”命令,以“ex2-2”为名称新建一个ASP.NET空网站。在解决方案资源管理器中右击网站名称,在弹出的快捷菜单中选择“添加”→“HTML页”命令,以Default为文件名向网站中添加一个静态网页文件。

按照如下所示编辑HTML代码,运行后得到如图2-12所示的结果。

图2-12 盒区域的圆角和阴影效果