一、认识 CSS
前面我们了解了 h 元素、p 元素、div 元素和 span 元素等,其中 h 元素和 p 元素都是语义化元素,即包含了特定的样式,而 div 和 span 是不包含特定的样式的
当然我们也可以通过添加样式将 span 元素变成 div,将 div 变成 h1
我们也可以通过浏览器的检查工具来查看样式
h1元素本身自带的样式是浏览器添加的,但是我们通过 CSS 来实现同样的效果。
CSS 即 Cascading Style Sheet,表示层叠样式表,也称为串样式列表、级联样式表、串接样式表或者阶层式样式表,是用来为网页添加样式的代码。
CSS 不是真正的变成语言,甚至不是标记语言,它只是一门样式表语言。
CSS 的出现是为了美化 HTML 的,并且让结构(HTML)与样式(CSS)分离,我们可以为 HTML 添加各种样式,如颜色、字体、大小或者下划线等,也可以对 HTML 进行布局,按照某种结构显示。
CSS 样式的编写规则
声明一个单独的 CSS 规则时,需要包含属性名和属性值,属性名为要添加的 CSS 规则的名称,属性值则为 CSS 规则的值,如添加一个颜色的 CSS 样式为 color: red,但是 CSS 应该放在哪里呢?
CSS 提供了 3 种书写方式将 CSS 应用到元素上,分别是:
- 内联样式 inline style
- 内部样式表 internal style sheet、文档样式表 document style sheet、内部样式表 embed style sheet
- 外部样式表 external style sheet
这三种书写方式在以后的开发中都会用到。
内联样式
内联样式存在于 HTML 元素的 style 属性之中,上一节我们讲到 style 属性是 HTML 元素的全局属性,即所有的 HTML 元素都具有 style 属性。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<!-- 内联样式 -->
<div style="color: red; font-size: 30px">这是包含内联样式的 DIV 元素</div>
<h1 style="color: aquamarine; font-size: 100px;">这是包含内联样式的 h1 元素</h1>
</body>
</html>
在浏览器中打开 HTML 文件,设置的样式效果如下:
多个 CSS 样式之间使用 ; 分隔开,建议每条 CSS 样式后面都加上 ;,内联样式的写法在原生 HTML 编码过程中是不推荐的,但是在 Vue 框架中的 template 中某些动态的样式是会使用内联样式的。
内部样式
将 CSS 样式放在 HTML 文件的 <head> 元素的 style 元素中,在 Vue 的开发过程中,每个组件也会有一个 style 元素,和内部样式非常相似,但是两者原理并不相同。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<!-- 内部样式 -->
<style>
/* CSS 选择器,选择 div 元素设置样式 */
div {
color: red;
font-size: 20px;
background-color: orangered;
}
</style>
</head>
<body>
<div>DIV 元素</div>
<p> P 元素</p>
<h1> h1 元素</h1>
</body>
</html>
外部样式
外部样式表是将 CSS 编写在一个独立的文件中,并且通过 <link> 元素引入到 HTML 文件中;使用外部样式表主要分为两个步骤,首先将 CSS 样式在一个独立的文件中编写,然后在通过 <link> 元素引入到 HTML 中。
在 HTML 文件同级目录下创建一个 css 文件夹,在该文件夹下创建 style.css 文件,用来编写样式,具体代码如下:
div {
color: red;
font-size: 20px;
background-color: aqua;
}
HTML 文件中的代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<!--引入外部的 CSS 文件-->
<link rel="stylesheet" href="./css/style.css">
</head>
<body>
<div>DIV 元素</div>
</body>
</html>
在 style.css 文件中设置的样式生效,效果如下:
在定义 CSS 的时候,我们也可以将相同的 CSS 样式进行抽取,当 CSS 文件比较多的时候,可以在一个 CSS 文件中通过使用 @import 关键字引入另外一个 CSS 文件,在 css 文件夹中创建一个 index.css 文件,在该文件中引入 style.css,代码如下:
@import url(./style.css);
在 HTML 中引入 index.css,样式同样能够生效,通过引入的方式可以更方便的管理多个 CSS 文件。
CSS 注释
CSS 中的注释和 HTML 中的注释是不一样的,CSS 中通过以下方式来表示
/*CSS注释内容*/
二、CSS 相关文档
CSS 开发中最常用的属性包含以下几个类别,分别是:
- 定位和布局
- 展示和可见
- 盒模型
- 背景
- 字体、文本
- 其他
具体的可以通过 CSS 官网文档查看,除此之外 MDN 上也有相关的 CSS 文档。
需要注意的是由于浏览器版本或者 CSS 版本的问题,可能会导致某些 CSS 在某些版本的浏览器中无法使用,可以通过查询 caniuse 这个网站来查看适用的版本。