一、外部 CSS
通过使用外部样式表,只需修改一个文件即可改变整个网站的外观。每张 HTML 页面必须在 head 部分的 <link> 元素内包含对外部样式表文件的引用。外部样式在 HTML 页面 <head> 部分内的 <link> 元素中进行定义:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="/demo/css/mystyle.css">
/*relation定义关联性stylesheet href定义css文件的路径 */
</head>
<body>
<h1>This is a heading</h1>
<p>This is a paragraph.</p>
</body>
</html>
外部样式表可以在任何文本编辑器中编写,并且必须以 .css 扩展名保存。
外部 .css 文件不应包含任何 HTML 标签。
二、内部 CSS
如果一张 HTML 页面拥有唯一的样式,那么可以使用内部样式表。内部样式是在 head 部分的 <style> 元素中进行定义。内部样式在 HTML 页面的 <head> 部分内的 <style> 元素中进行定义:
<!DOCTYPE html>
<html>
<head>
<style>
body {
background-color: linen;
}
h1 {
color: maroon;
margin-left: 40px;
}
</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>
行内样式失去了样式表的许多优点(通过将内容与呈现混合在一起)。请谨慎使用此方法。
四、三者之间的优先级
如果三个样式同时作用一个元素上(注意是同一个元素)行内元素优先级最大,内部样式大于外部样式,简单而言就近原则。但如果在某个样式中加上!important则优先级最高。
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="/demo/css/mystyle.css">
<style>
body {background-color: linen;}
</style>
</head>
<body style="background-color: lavender">
<h1>多重样式会层叠为一</h1>
<p>页面的背景色同时由行内 CSS、内部 CSS 或外部 CSS 设置。</p>
<p>请尝试通过删除样式来查看级联样式表的工作方式(尝试首先删除行内 CSS,然后是内部,最后是外部)。</p>
</body>
</html>
虽然内部样式优先级较高,但在实际操作中还是以外部样式为主,一方面是更简洁,另一方面使用内部样式时某些浏览器会先加载主体内容在加载样式,会出现闪烁现象,尤其是当网速较慢时会更明显。而外部样式则会同时出现。