CSS

CSS


1. CSS引入方式


具体有3种引入方式,语法如下表格所示:

名称 语法描述 示例
行内样式 在标签内使用style属性,属性值是CSS属性键值对 <h1 style=”xxx:xxx;”>中国新闻网</h1>
内嵌样式 定义<style>标签,在标签内部定义CSS样式 <style> h1 {…} </style>
外联样式 定义<link>标签,通过href属性引入外部CSS文件 <link rel=”stylesheet” href=”css/news.css”>

对于上述3种引入方式,企业开发的使用情况如下:

  1. 内联样式会出现大量的代码冗余,不方便后期的维护,所以不常用。
  2. 内部样式,通过定义css选择器,让样式作用于当前页面的指定的标签上。
  3. 外部样式,html和css实现了完全的分离,企业开发常用方式。

2. CSS选择器


选择器是选取需设置样式的元素(标签),但是我们根据业务场景不同,选择的标签的需求也是多种多样的,所以选择器有很多种,因为我们是做后台开发的,所以对于css选择器,我们只学习最基本的3种。

选择器通用语法如下

1
2
3
4
选择器名   {
css样式名:css样式值;
css样式名:css样式值;
}

2.1 元素(标签)选择器

  • 选择器的名字必须是标签的名字
  • 作用:选择器中的样式会作用于所有同名的标签上
1
2
3
元素名称 {
css样式名:css样式值;
}

例子如下:

1
2
3
div{
color: red;
}

2.2 id选择器

  • 选择器的名字前面需要加上#
  • 作用:选择器中的样式会作用于指定id的标签上,而且有且只有一个标签(由于id是唯一的)
1
2
3
#id属性值 {
css样式名:css样式值;
}

例子如下:

1
2
3
#did {
color: blue;
}

2.3 类选择器

  • 选择器的名字前面需要加上 .
  • 作用:选择器中的样式会作用于所有class的属性值和该名字一样的标签上,可以是多个
1
2
3
.class属性值 {
css样式名:css样式值;
}

例子如下:

1
2
3
.cls{
color: green;
}

3. CSS盒子模型


盒子:页面中所有的元素(标签),都可以看做是一个 盒子,由盒子将页面中的元素包含在一个矩形区域内,通过盒子的视角更方便的进行页面布局

  • 盒子模型组成:内容区域(content)、内边距区域(padding)、边框区域(border)、外边距区域(margin)

CSS盒子模型,其实和日常生活中的包装盒是非常类似的,就比如:

image-20230310093247265

盒子的大小,其实就包括三个部分: border、padding、content,而margin外边距是不包括在盒子之内的。


4. 布局标签


  • 布局标签:实际开发网页中,会大量频繁的使用 div 和 span 这两个没有语义的布局标签。

  • 标签:

  • 特点:

    • div标签:

      • 一行只显示一个(独占一行)

      • 宽度默认是父元素的宽度,高度默认由内容撑开

      • 可以设置宽高(width、height)

    • span标签:

      • 一行可以显示多个

      • 宽度和高度默认由内容撑开

      • 不可以设置宽高(width、height)

测试:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<body>
<div>
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
</div>
<div>
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
</div>

<span>
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
</span>
<span>
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
</span>
</body>

浏览器打开后的效果:

1). div会独占一行,默认宽度为父元素 body 的宽度

![image-20230310093734941](E:/百度网盘下载文件夹/Quick/1. HTML&CSS/assets/image-20230310093734941.png)

2). span一行会显示多个,用来组合行内元素,默认宽度为内容撑开的宽度

![image-20230310093827748](E:/百度网盘下载文件夹/Quick/1. HTML&CSS/assets/image-20230310093827748.png)

4.1 盒子模型代码

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<!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; /* 高度 */
box-sizing: border-box; /* 指定width height为盒子的高宽 */
background-color: aquamarine; /* 背景色 */

padding: 20px 20px 20px 20px; /* 内边距, 上 右 下 左 , 边距都一行, 可以简写: padding: 20px;*/
border: 10px solid red; /* 边框, 宽度 线条类型 颜色 */
margin: 30px 30px 30px 30px; /* 外边距, 上 右 下 左 , 边距都一行, 可以简写: margin: 30px; */
}
</style>
</head>

<body>

<div>
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
</div>

</body>
</html>

代码编写好了, 可以通过浏览器打开该页面, 通过开发者工具,我们就可以看到盒子的大小, 以及盒子各个组成部分(内容、内边距、边框、外边距):

image-20230310094312355

我们也可以,通过浏览器的开发者工具,清晰的看到这个盒子,以及每一个部分的大小:

image-20230310094412539

文档查阅