CSS 选择器用于“查找”(或选取)要设置样式的 HTML 元素。【推荐学习:css视频教程】
基本选择器
选择器名称 | 举例 | 描述 |
---|---|---|
元素选择器 | p {color:red;} | 选择所有 元素。 |
类选择器 | .mystyle {color:red;} | 选择所有class="mystyle’的标签元素 |
id选择器 | #myid {color:red;} | 选择所有id="myid"的标签元素 |
全局选择器|* {color:red;}|选择该页面中所有的HTML元素
(资料图)
1、元素选择器
根据元素名称来选择 HTML 元素。
p { text-align: center; color: green;}
2、类选择器
选择有特定 class 属性的 HTML 元素。
.mystyle1 { background:rgb(200,200,0); color:blue;}.mystyle2{ font-size: 14px; font-weight: 500; display: block; margin-top: 25px;}
运行结果
这个段落没有引用
这个段落引用两个类。
1)单类选择器
单纯的元素选择器似乎还过于粗糙了,比如我们希望在文档中突出加粗显示某种重要的内容,例如稿件的截至日期。问题在于我们不能确定稿件的截至日期将会出现在哪种元素中,或者它可能出现在多种不同的元素中。这个时候,我们可以考虑使用类选择器(class selector)。使用类选择器我们需要首先对文件元素添加一个class属性,比如截至日期可能会出现在以下元素中:
这样我们就可以用以下方式使用类选择器了:
点号”.”加上类名就组成了一个类选择器。以上2个选择器会选择所有包含”deadline”类的p元素和h2元素。而其余包含该属性的元素则不会被选中。如果我们省略.deadline前面的元素名,那么所有包含该类的元素都将被选中:
通常情况下,我们会组合使用以上2者得到更加有趣的样式:
以上代码首先会对所有的包含deadline的元素字体设置为红色,同时会对span元素中的文本添加额外的斜体效果。这样,如果你希望某处文本拥有额外的斜体效果将它们放在中就可以了。
2)多类选择器
在实践的做法中,元素的calss属性可能不止包含一个单词,而是一串单词,各个单词之间用空格隔开。
比如某些元素包含一个”warning”类,某些元素包含一个”important”类,某些元素同时包含”warning important”类。属性名出现的顺序没有关系:
以上2者是等价的。
我们希望包含warning类的元素有一个醒目的红色字体,包含important属性的元素有一个加粗的字体显示,而同时包含以上2中属性的元素另外拥有一个蓝色背景(不管还能不能看清文字了),我们可以使用以下的css代码:
当然,第三条你也可以写成:
和词序没有关系。
说明一下,.warning会匹配所有包含warning属性的元素,不管该元素还包含多少其他的属性。.important同理。
而.important.warning会匹配所有同时包含以上2种属性的元素,不管该元素还包含多少其他的类,也不管他们在类列表中出现的顺序,只要其中含有这2个属性,则会被选择进来!
同样地,多于多类选择器,在前面加上元素名,则会匹配包含指定类名的指定元素,例如:
将会匹配同时包含warning和important属性的p元素,其他同样包含以上2类的元素则不会被选中。
3、id选择器
ID选择器和类选择器有些类似,但是差别又十分显著。
首先一个元素不能像类属性一样拥有多个类,一个元素只能拥有一个唯一的ID属性。其次一个ID值在一个HTML文档中只能出现一次,也就是一个ID只能唯一标识一个元素(不是一类元素,而是一个元素)。
元素的 id 在页面中是唯一的,因此 id 选择器用于选择一个唯一的元素!
在样式定义时,id选择器前面要添加’#"符号
#div1{background:rgb(200,200,0);color:blue;font-size:20px;}
运行结果
这是一个段落
这是一个段落
三种选择器优先级
问题引入
浏览器根据css样式渲染某一个元素时,会遵循一定的规则,一般来说有以下的优先级规则,我们将其量化为特异性值
行内样式(1000),如
id选择器(100),#myid{color:red;}
类选择器、属性选择器、伪类选择器(10):.myclass1{color:yellow;}、a[target=_blank]
元素选择器(1):h1 {color:green;}
下面我们来看一个例子
这是一个demo 这是一个标题,请查看优先级
这是一个段落,请查看优先级
我们可以看到因为标签
有行内样式,所以它显示为了蓝色;
而标签
虽然定义了三种css样式,但是由于id选择器的优先级最高,所以显示为了红色
(学习视频分享:web前端入门)
以上就是详解CSS的基本选择器,并聊聊选择器优先级的详细内容,更多请关注php中文网其它相关文章!