目录
- 一、CSS盒子模型
- 1.1 盒子模型组成
- 1.2 边框(border)
- 1.2.1 语法格式
- 1.2.2 边框样式 border-style
- 1.2.3 代码示例
- 1.3 表格的细线边框
- 1.3.1 语法格式、代码示例及结果
一、CSS盒子模型
网页布局过程:
1.先准备好相关的网页元素,网页元素基本都是盒子Box。
2.利用CSS设置盒子样式,然后拜访到相应的位置。
3.往盒子里装内容。
网页布局的核心本质:利用CSS摆盒子
1.1 盒子模型组成
所谓盒子模型:就是把HTML页面中的布局元素看作是一个矩形的盒子,也就是一个盛装内容的容器。
CSS盒子模型本质上是一个盒子,封装周围的HTML元素,包括:边框(border)、外边距(margin)、内边距(padding)和实际内容(content)
1.2 边框(border)
border可以设置元素的边框。边框有三部分组成:边框宽度、边框样式以及边框颜色。
1.2.1 语法格式
border: border-width || border-style || border-color
属性 | 作用 |
---|---|
border-width | 定义边框粗细,单位是px |
border-style | 边框的样式 |
border-color | 边框的颜色 |
边框简写:
border: 1px solid red; 没有顺序
边框分开写法:
border-top: 1px solid red; /* 只设定上边框,其余同理 */
1.2.2 边框样式 border-style
属性值 | 作用 |
---|---|
none | 无边框(默认值) |
hidden | 隐藏边框 |
dotted | 在MAC平台上IE4+与WINDOWS和UNIX平台上IE5.5+为点线,否则为实线 |
dashed | 在MAC平台上IE4+与WINDOWS和UNIX平台上IE5.5+为虚线,否则为实线 |
solid | 实现边框 |
double | 双线边框,两条单线与其间隔的和等于指定的border-width值 |
groove | 根据border-color的值画3D凹槽 |
ridge | 根据border-color的值画菱形边框 |
inset | 根据border-color的值画3D凹边 |
outset | 根据border-color的值画3D凸边 |
1.2.3 代码示例
代码如下所示:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>盒子模型边框border</title>
<style>
div {
width: 300px;
height: 200px;
/* border-width 边框的粗细,一般情况下都用 px */
border-width: 10px;
/* border-style 边框样式 solid实线边框 dashed虚线边框 dotted点线边框 */
/* border-style: dashed; */
/* border-color 边框颜色 */
border-color: steelblue;
/* 边框的复合写法 简写: */
/* border: 5px solid rgb(71, 110, 71); */
border-top: 5px dotted yellow;
border-bottom: 10px dashed blue;
border-right: 8px solid green;
border-left: 8px solid red;
}
</style>
</head>
<body>
<div>
</div>
</body>
</html>
结果如下:
课堂小练习:
- 设置一个200*200的盒子,要求上边框为红色,其余边框为蓝色。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>课堂作业</title>
<style>
div {
width: 200px;
height: 200px;
/* border-top: 5px solid red;
border-left: 5px solid blue;
border-right: 5px solid blue;
/* border-bottom: 5px solid blue; */
/* 利用层叠性,上述写法可以实现但过于麻烦 */
border: 5px solid blue;
border-top: 5px solid red;
/* 注意 不能颠倒顺序 */
}
</style>
</head>
<body>
<div></div>
</body>
</html>
结果如下:
1.3 表格的细线边框
border-collapse属性控制浏览器绘制表格边框的方式。它控制相邻单元格的边框。
1.3.1 语法格式、代码示例及结果
border-collapse: collapse; /* 合并边框 */
代码示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>细线边框电视剧排行榜</title>
<style>
table,
td,
th {
border: 1px solid steelblue;
/* 合并相邻的边框 */
border-collapse: collapse;
text-align: center;
font-size: 14px;
}
table {
width: 600px;
height: 250px;
}
</style>
</head>
<body>
<table align="center" cellpadding=20px cellspacing="0">
<thead>
<tr>
<th> 排名 </th>
<th> 剧名 </th>
<th> 热度 </th>
<th> 豆瓣评分 </th>
<th> 相关链接 </th>
</tr>
</thead>
<tbody>
<tr>
<td> 1 </td>
<td> 苍兰诀 </td>
<td> 80.41 </td>
<td> 7.9 </td>
<td>
<a href="https://baike.baidu.com/item/苍兰诀/53935024?fr=aladdin"> 百度百科 </a>
<a href="images/苍兰诀.webp"> 图片 </a>
<a href="https://tieba.baidu.com/hottopic/browse/hottopic?topic_id=674913"> 贴吧 </a>
</td>
</tr>
<tr>
<td> 2 </td>
<td> 冰雨火 </td>
<td> 80.01 </td>
<td> 7.3 </td>
<td>
<a href="https://baike.baidu.com/item/冰雨火/24256929?fr=aladdin"> 百度百科 </a>
<a href="images/冰雨火.webp"> 图片 </a>
<a href="https://tieba.baidu.com/hottopic/browse/hottopic?topic_id=1958739"> 贴吧 </a>
</td>
</tr>
<tr>
<td> 3 </td>
<td> 沉香如屑 沉香重华 </td>
<td> 79.02 </td>
<td> 5.9 </td>
<td>
<a href="https://baike.baidu.com/item/沉香如屑/19835449?fr=aladdin"> 百度百科 </a>
<a href="images/沉香如屑.webp"> 图片 </a>
<a href="https://tieba.baidu.com/hottopic/browse/hottopic?topic_id=641437"> 贴吧 </a>
</td>
</tr>
<tr>
<td> 4 </td>
<td> 罚罪 </td>
<td> 77.05 </td>
<td> 7.0 </td>
<td>
<a href="https://baike.baidu.com/item/罚罪/61874368?fr=aladdin"> 百度百科 </a>
<a href="images/罚罪.webp"> 图片 </a>
<a href="https://tieba.baidu.com/hottopic/browse/hottopic?topic_id=7321738"> 贴吧 </a>
</td>
</tr>
<tr>
<td> 5 </td>
<td> 星汉灿烂 月升沧海 </td>
<td> 72.80 </td>
<td> 7.6 </td>
<td>
<a href="https://baike.baidu.com/item/星汉灿烂/24583310?fr=aladdin"> 百度百科 </a>
<a href="images/星汉灿烂.webp"> 图片 </a>
<a href="https://tieba.baidu.com/hottopic/browse/hottopic?topic_id=1549016"> 贴吧 </a>
</td>
</tr>
</tbody>
</table>
</body>
</html>
结果如下:
注意:边框会影响盒子实际大小
解决方案:
1.测量盒子大小的时候,不量边框。
2.如果测量的时候包含了边框,则需要width/height减去边框宽度。