
如何插入样式表
在网页开发中,插入样式表的方法有三种,它们各有优势,适用于不同的开发场景:
- 外部样式表(External style sheet)
- 内部样式表(Internal style sheet)
- 内联样式表(Inline style)
外部样式表
当众多页面需要统一应用样式时,外部样式表无疑是最佳选择。借助外部样式表,只需修改一个文件,就能轻松改变整个网站的外观。
在每个页面中,通过<link>
标签实现与样式表的链接。并且,该<link>
标签需放置在文档的头部部分。
<head>
<link rel="stylesheet" type="text/css" href="mystyle.css">
</head>
- 浏览器会读取 mystyle.css 文件中的样式声明,然后依据这些声明对文档进行格式化处理。
- 外部样式表可以在任何文本编辑器中进行编辑。文件不能包含任何的 html 标签。样式表应该以
.css
扩展名进行保存。
下面是一个样式表文件的例子:
hr {color:sienna;}
p {margin-left:20px;}
body {background-image:url("/images/back40.gif");}
不要在属性值与单位之间留有空格(如:"margin-left: 20 px" ),正确的写法是 "margin-left: 20px" 。
内部样式表
当单个文档需要应用独特样式时,更适合使用内部样式表。通过在文档头部使用style
标签,即可定义内部样式表,具体示例如下:
<head>
<style>
hr {color:sienna;}
p {margin-left:20px;}
body {background-image:url("images/back40.gif");}
</style>
</head>
内联样式表
在网页开发过程中,内联样式虽能便捷地为单个元素设置样式,但它把样式表现和内容直接混在一起,致使样式表的诸多优势,如高效复用、集中管理以及后期便捷维护等大打折扣。
若你想运用内联样式,只需在对应的 HTML 标签内添加样式(style)属性即可。这个 style 属性相当强大,它能够容纳任意 CSS 属性。
例如,借助内联样式改变段落的文本颜色以及左外边距:
<p style="color:sienna;margin-left:20px">这是一个段落。</p>
多重样式
在 CSS 样式表的应用过程中,当同一个选择器在多个样式表中定义了相同属性时,最终生效的属性值,会依据样式表的特异性规则来确定,优先继承来自更具体样式表中的属性值。这种机制确保了样式渲染能够依据开发者的意图,灵活且精准地呈现。
例如,外部样式表拥有针对 h3 选择器的三个属性:
h3{
color:red;
text-align:left;
font-size:8px;
}
而内部样式表拥有针对 h3 选择器的两个属性:
h3{
text-align:right;
font-size:20px;
}
假如拥有内部样式表的这个页面,同时拥有外部样式表链接,那么 h3 得到的样式是:
h3{
color:red;
text-align:right;
font-size:20px;
}
在相同选择器定义的样式时,后面定义的样式会覆盖前面的。
该 h3 元素的颜色属性会沿用外部样式表,而文本对齐方式与字体大小则会被内部样式表中的对应规则覆盖。
多重样式优先级
在网页开发领域,样式表提供了丰富灵活的方式来定义样式信息:
- 内联样式:在单个 HTML 元素中,对当前元素的样式进行精准控制。
- 内部样式表:在 HTML 文档的
<head>
头部元素中,对当前页面的样式进行集中设置。 - 外部样式表:将样式信息单独存储在外部 CSS 文件里,实现多个页面样式的统一管理与复用。
- 多外部样式表引用:在同一个 HTML 文档内,引用多个外部样式表,满足更为复杂、多样化的网页样式设计需求。
一般情况下,优先级如下:
(内联样式)Inline style > (内部样式)Internal style sheet >(外部样式)External style sheet > 浏览器默认样式
<head>
<!-- 外部样式 style.css -->
<link rel="stylesheet" type="text/css" href="/uploads/20250401/style.css"/>
<!-- 内部样式 -->
<style type="text/css">
h3{color:green;}
</style>
</head>
<body>
<h3>显示绿色,是内部样式</h3>
</body>
提示:上述实例中,如果你将外部样式放在内部样式的后面,则外部样式将覆盖内部样式。
反馈提交成功
感谢您的反馈,我们将尽快处理您的反馈