CSS 元素选择器
元素选择器根据元素名称来选择 HTML 元素。
页面上的所有 <p> 元素都将居中对齐,并带有红色文本颜色:
<!DOCTYPE html>
<html>
<head>
<style>
p {
text-align: center;
color: red;
}
</style>
</head>
<body>
<p>每个段落都会受到样式的影响。</p>
<p id="para1">每一段都会有影响</p>
<p>每一段都会有影响</p>
</body>
</html>
CSS id 选择器
id 选择器使用 HTML 元素的 id 属性来选择特定元素。
元素的 id 在页面中是唯一的,因此 id 选择器用于选择一个唯一的元素!
要选择具有特定 id 的元素,请写一个井号(#),后跟该元素的 id。
这条 CSS 规则将应用于 id="para1" 的 HTML 元素:
<!DOCTYPE html>
<html>
<head>
<style>
#para1 {
text-align: center;
color: red;
}
</style>
</head>
<body>
<p id="para1">Hello World!</p>
<p>本段不受样式的影响。</p>
</body>
</html>
id 名称不能以数字开头。
CSS 类选择器
类选择器选择有特定 class 属性的 HTML 元素。
如需选择拥有特定 class 的元素,请写一个句点(.)字符,后面跟类名。
<!DOCTYPE html>
<html>
<head>
<style>
.center {
text-align: center;
color: pink;
}
</style>
</head>
<body>
<h1 class="center">居中的红色标题</h1>
<p class="center">居中的红色段落。</p>
</body>
</html>
在这个例子中,只有具有 class="center" 的 <p> 元素会居中对齐:
<!DOCTYPE html>
<html>
<head>
<style>
p.center {
text-align: center;
color: red;
}
</style>
</head>
<body>
<h1 class="center">这个标题不受影响</h1>
<p class="center">这个段落将是红色并居中对齐的。</p>
</body>
</html>
在这个例子中,<p> 元素将根据 class="center" 和 class="large" 进行样式设置:
<!DOCTYPE html>
<html>
<head>
<style>
p.center {
text-align: center;
color: pink;
}
p.large {
font-size:400%;
}
</style>
</head>
<body>
<h1 class="center">这个标题不受影响</h1>
<p class="center">本段将是红色并居中对齐。</p>
<p class="center large">这段将是粉色、居中对齐,并使用大字体。</p>
</body>
</html>
CSS 通用选择器
通用选择器(*)选择页面上的所有的 HTML 元素。
下面的 CSS 规则会影响页面上的每个 HTML 元素:
<!DOCTYPE html>
<html>
<head>
<style>
* {
text-align: center;
color: blue;
}
</style>
</head>
<body>
<h1>标题内容</h1>
<p>页面上的每个元素都会受到样式的影响。</p>
<p id="para1">每一段都是</p>
<p>每一段都是</p>
</body>
</html>
CSS 分组选择器
分组选择器选取所有具有相同样式定义的 HTML 元素。
看下面的 CSS 代码(h1、h2 和 p 元素具有相同的样式定义):
h1 {
text-align: center;
color: red;
}
h2 {
text-align: center;
color: red;
}
p {
text-align: center;
color: red;
}
最好对选择器进行分组,以最大程度地缩减代码。
如需对选择器进行分组,请用逗号来分隔每个选择器。
在这个例子中,我们对上述代码中的选择器进行分组:
<!DOCTYPE html>
<html>
<head>
<style>
h1, h2, p {
text-align: center;
color: pink;
}
</style>
</head>
<body>
<h1>Hello World!</h1>
<h2>更小的标题</h2>
<p>这是一个段落。</p>
</body>
</html>
简单的 CSS 选择器
选择器 | 例子 | 例子描述 |
---|---|---|
.class | .intro | 选取所有 class="intro" 的元素。 |
#id | #firstname | 选取 id="firstname" 的那个元素。 |
* | * | 选取所有元素。 |
element | p | 选取所有 <p> 元素。 |
element,element,.. | div, p | 选取所有 <div> 元素和所有 <p> 元素。 |
三种使用 CSS 的方法
有三种插入样式表的方法:
- 外部 CSS
- 内部 CSS
- 行内 CSS
外部 CSS
每张 HTML 页面必须在 head 部分的 <link> 元素内包含对外部样式表文件的引用。
外部样式在 HTML 页面 <head> 部分内的 <link> 元素中进行定义:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="/demo/css/mystyle.css">
</head>
<body>
<h1>这里是标题</h1>
<p>这是段落</p>
</body>
</html>
外部样式表可以在任何文本编辑器中编写,并且必须以 .css 扩展名保存。
外部 .css 文件不应包含任何 HTML 标签。
"mystyle.css" 是这样的:
body {
background-color: lightblue;
}
h1 {
color: navy;
margin-left: 20px;
}
在属性值和单位之间添加空格(例如 margin-left: 20 px;)。正确的写法是:margin-left: 20px;
内部 CSS
如果一张 HTML 页面拥有唯一的样式,那么可以使用内部样式表。
内部样式是在 head 部分的 <style> 元素中进行定义。
内部样式在 HTML 页面的 <head> 部分内的 <style> 元素中进行定义:
<!DOCTYPE html>
<html>
<head>
<style>
body {
background-color:pink;
}
h1 {
color: maroon;
margin-left: 400px;
}
</style>
</head>
<body>
<h1>这是一个标题</h1>
<p>这是一个段落。</p>
</body>
</html>
行内 CSS
行内样式(也称内联样式)可用于为单个元素应用唯一的样式。
如需使用行内样式,请将 style 属性添加到相关元素。style 属性可包含任何 CSS 属性。
行内样式在相关元素的 "style" 属性中定义:
<!DOCTYPE html>
<html>
<body>
<h1 style="color:blue;text-align:center;">这是标题</h1>
<p style="color:red;">这是一个段落。</p>
</body>
</html>
多个样式表
如果在不同样式表中为同一选择器(元素)定义了一些属性,则将使用最后读取的样式表中的值。
假设某个外部样式表为 <h1> 元素设定的如下样式:
h1 {
color: navy;
}
然后,假设某个内部样式表也为 <h1> 元素设置了如下样式:
h1 {
color: orange;
}
如果内部样式是在链接到外部样式表之后定义的,则 <h1> 元素将是粉色:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="/demo/css/mystyle.css">
<style>
h1 {
color: pink;
}
</style>
</head>
<body>
<h1>这是一个标题</h1>
<p>本文档的样式是外部样式表和内部样式的组合。</p>
</body>
</html>
不过,如果在链接到外部样式表之前定义了内部样式,则 <h1> 元素将是深蓝色:
<!DOCTYPE html>
<html>
<head>
<style>
h1 {
color: orange;
}
</style>
<link rel="stylesheet" type="text/css" href="/demo/css/mystyle.css">
</head>
<body>
<h1>这是一个标题</h1>
<p>本文档的样式是外部样式表和内部样式的组合。</p>
</body>
</html>
CSS 注释
注释用于解释代码,浏览器会忽略注释。
位于 <style> 元素内的 CSS 注释,以 /* 开始,以 */ 结束:
<!DOCTYPE html>
<html>
<head>
<style>
/* 这是单行注释 */
p {
color: red;
}
</style>
</head>
<body>
<p>内容</p>
<p>这段文本由 CSS 设置样式。</p>
<p>CSS 注释不会在输出中显示。</p>
</body>
</html>
在代码中的任何位置添加注释:
<!DOCTYPE html>
<html>
<head>
<style>
p {
color: pink; /* 把颜色设置为粉色 */
}
</style>
</head>
<body>
<p>内容</p>
<p>这段文本由 CSS 设置样式。</p>
<p>CSS 注释不会在输出中显示。</p>
</body>
</html>
注释也可以横跨多行:
<!DOCTYPE html>
<html>
<head>
<style>
/* 把颜色
设置为
粉色
*/
p {
color: pink;
}
</style>
</head>
<body>
<p>内容</p>
<p>这段文本由 CSS 设置样式。</p>
<p>CSS 注释不会在输出中显示。</p>
</body>
</html>
HTML 和 CSS 注释
使用 <!--...--> 语法在 HTML 源代码中添加注释。
下面例子结合使用了 HTML 和 CSS 注释:
<!DOCTYPE html>
<html>
<head>
<style>
p {
color: pink; /* 把文本色设置为粉色 */
}
</style>
</head>
<body>
<h1>我的标题</h1>
<!-- 这些段落将是粉色 -->
<p>这是内容</p>
<p>这段文本由 CSS 设置样式。</p>
<p>CSS 注释不会在输出中显示。</p>
</body>
</html>
CSS 颜色名
<!DOCTYPE html>
<html>
<body>
<h1 style="background-color: Blue;">番茄色</h1>
<h1 style="background-color:Orange;">橙色</h1>
<h1 style="background-color:DodgerBlue;">道奇蓝</h1>
<h1 style="background-color:MediumSeaGreen;">中海绿色</h1>
<h1 style="background-color:Gray;">灰色</h1>
<h1 style="background-color:SlateBlue;">板岩蓝</h1>
<h1 style="background-color:Violet;">紫色</h1>