插入CSS样式表有三种方式,如下所示:
使用外部样式表,非常方便就可以改变整个站点的风格样式。因为往往一个站点的多个页面都共用同一个外部样式表。
而引入外部样式表,则是通过在head元素中插入link元素,如下例所示:
<head> <link rel="stylesheet" type="text/css" href="XXX.css"> </head>
例如“XXX.css”可如下所示:
body { background-color: LightBlue; } h1 { color: Tomato; margin-left: 20px; }
外部的.css文件大部分文本编辑器都能编辑,只要最后保存成.css文件就ok啦~
友情提示:千万别在数值和单位之间加空格!举例说明
margin-left: 20 px;
是一种错误的写法,20和px这个单位之间不应该加上空格,因此正确的写法是margin-left:20px;
内部样式表一般是通过<style>标签的方式直接把样式表插入到HTML源码内,因此被插入的CSS样式表就被称为了内部样式表。一般来说,内部样式表的style元素都是位于head元素内,但是这不是绝对的,直接插入在body元素中也是没问题的。
内部样式表往往适用于定义此页面比较独特的元素样式设置。(用白话来说,就是这样方式搞的样式主要就是用于当前这个单独的页面,这里面的CSS样式不会被其他页面样式,所以咱就图省事,直接在HTML页面中这么搞出来,方便直观,何乐而不为,何懒而不偷呢)
<html> <head> <style> h1 { color: #46acb6; margin-left: 10px; } p { color: LightGray; margin-left: 13px; } </style> </head> <body> <h1>标题</h1> <p>这是一个段落</p> </body> </html>
通过元素的style属性可以设置行内样式表;行内样式表这种方式比较适合某元素需要单独进行一些样式设置。
<h1 style="color:#46acb6;margin-left:10px;">标题</h1>
接下来的内容很重要,要说一下样式表插入方式的优先级别,即相同选择器中的相同属性的取值覆盖问题(这里暂时说的比较简单,主要说的还是样式表的优先级别)。
原则是不管哪种引入方式,后引入的(后声明的)样式表的优先级别更高;即后声明的样式表中的属性取值会覆盖之前的取值。
这里主要是在说样式表插入方式的优先级别,但这里说到的覆盖,不是选择器的覆盖,而是具体元素的某个样式属性的取值的覆盖。
如下例所示:
<html> <head> <style> h1 { color: #46acb6; margin-left: 10px; } p { color: LightGray; margin-left: 13px; } </style> <link href="https://logo.zhuanfou.com/red.css" rel="stylesheet"> <!-- 外部样式表red.css会覆盖上面的内部样式表中对p元素的颜色属性的设定 --> </head> <body> <h1 style="color:Orange">标题</h1> <p>这是一个段落</p> </body> </html>
再来一个极端的例子:
<style> p { color: Black; color: Gray; color: White; color: Green; color: Blue; color: Orange; color: Red; } </style> <!-- 哪种属性是最后声明的就是哪种 --> <!-- 因此最终肯定显示成“红色Red” --> <p>这是一个段落</p>
上面说的都是比较简单的情况,是相同选择器属性覆盖,那不同种类的选择器也有优先级别的差异。这个很复杂,后文会具体说道。