CSS3的30个选择器总结

本文总结了30个CSS3选择器,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

或许大家平时总是在用的选择器都是:#id  .http://www.php.cn/wiki/164.html” target=”_blank”>class  以及标签选择器。可是这些还远远不够,为了在开发中更加得心应手,本文总结了30个CSS3选择器,希望对大家有所帮助。

1 *:通用选择器

* {   margin:0;   padding:0;  }

*选择器是选择页面上的全部元素,上面的代码作用是把全部元素的margin和padding设为0,最基本的清除浏览器默认样式的方法。  

*选择器也可以应用到子选择器中,例如下面的代码:

#container * {   border:1px solid black;  }

这样ID为container 的所有子标签元素都被选中了,并且设置了border。

2 #id:id选择器

#container {   width: 960px;   margin: auto;}

id选择器是很严格的并且你没办法去复用它。使用的时候大家还是得相当小心的。需要问自己一下:我是不是必须要给这个元素来赋值个id来定位它呢?

3 .class:类选择器

.error {  color: red;}

这是个class选择器。它跟id选择器不同的是,它可以定位多个元素。当你想对多个元素进行样式修饰的时候就可以使用class。当你要对某个特定的元素进行修饰那就是用id来定位它。

4 selector1 selector2:后代选择器

li a {  text-decoration: none;}

后代选择器是比较常用的选择器。如果你想更加具体的去定位元素,你可以使用它。例如,假如,你不需要定位所有的a元素,而只需要定位li标签下的a标签?这时候你就需要使用后代选择器了。  

提示:如果你的选择器像X Y Z A B.error这样,那你就错了。时刻都提醒自己,是否真的需要对那么多元素修饰。

5 tagName:标签选择器

a { color: red; }ul { margin-left: 0; }

如果你想定位页面上所有的某标签,不是通过id或者是’class’,这简单,直接使用类型选择器。

6 selector:link  selector:visited  selector:hover  selector标签选择器0  标签选择器1选择器

一般情况下selector都为a标签,以上四种伪类选择器代表的意思如下:

link:连接平常的标签选择器2。  

visited:连接被访问过之后。  

hover:鼠标放到连接上的时候。  

active:连接被按下的时候。

未移入a标签链接时:link  

移入a标签链接时:link、hover  

点击a标签链接时:link、hover、active  

点击后未移入a标签连接时:link、visited  

点击后移入a标签连接时:link、visited、hover  

点击后再次点击a标签连接时:link、visited、hover、active  

这个就是所有组合的样式了。  

如果有多个同样的样式,后面的样式会覆盖前面的样式,所以这四个伪类的定义就有顺序的要求了,而大家所说的‘lvha’也是因为这个原因。

7 selector1 + selector2 :相邻选择器

ul + p {   color: red;}

它只会选中指定元素的直接后继元素。上面那个例子就是选中了所有ul标签后面的第一段,并将它们的颜色都设置为红色。

8 selector1 > selector2 : 子选择器

p#container > ul {  border: 1px solid black;}

它与差别就是后面这个指挥选择它的直接子元素。看下面的例子

  • List Item
    • Child
  • List Item
  • List Item
  • List Item

#container > ul只会选中id为’container’的p下的所有直接ul元素。它不会定位到如第一个li下的ul元素。由于某些原因,使用子节点组合选择器会在性能上有许多的优势。事实上,当在标签选择器3中使用标签选择器4时候是强烈建议这么做的。

9 selector1 ~ selector2 : 兄弟选择器

ul ~ p {  color: red;}

兄弟节点组合选择器跟相邻选择器很相似,然后它又不是那么的严格。ul + p选择器只会选择紧挨跟着指定元素的那些元素。而这个选择器,会选择跟在目标元素后面的所有匹配的元素。

10 selector[title] : 标签选择器5

a[title] {  color: green;}

上面的这个例子中,只会选择有title属性的元素。那些没有此属性的标签选择器6标签将不会被这个代码修饰。

11 selector[href=”foo”] : 属性选择器

a[href="http://strongme.cn"] {  color: #1f6053; /* nettuts green */}

上面这片代码将会把href属性值为http://strongme.cn的锚点标签设置为绿色,而其他标签则不受影响。  

注意:我们将值用双引号括起来了。那么在标签选择器7的时候也要使用双引号括起来。可以的话,尽量使用标准的CSS3选择器。

12 selector[href*=”strongme”]   : 属性选择器

a[href*="strongme"] {  color: #1f6053;}

指定了strongme这个值必须出现在锚点标签的href属性中,不管是strongme.cn还是strongme.com还是www.strongme.cn都可以被选中。  

但是记得这是个很宽泛的表达方式。如果锚点标签指向的不是strongme相关的站点,如果要更加具体的限制的话,那就使用^和$,分别表示标签选择器8的开始和结束。

13 selector[href^=”href”]  : 属性选择器

a[href^="http"] {   background: url(path/to/external/icon.png) no-repeat;   padding-left: 10px;}

大家肯定好奇过,有些站点的锚点标签旁边会有一个外链图标,我也相信大家肯定见过这种情况。这样的设计会很明确的告诉你会跳转到别的网站。  

用克拉符号就可以轻易做到。它通常使用在标签选择器9中标识开头。如果我们想定位锚点属性href中以http开头的标签,那我们就可以用与上面相似的代码。  

注意我们没有通用选择器0http://,那是没必要的,因为它都不包含通用选择器1。

14 selector[href$=”.jpg”]  : 属性选择器

a[href$=".jpg"] {  color: red;}

这次我们又使用了正则表达式$,表示字符串的结尾处。这段代码的意思就是去搜索所有的通用选择器2链接,或者通用选择器3链接是以.jpg结尾的。但是记住这种写法是不会对g通用选择器4s和pngs起作用的。

15 selector[data-*=”foo”] : 属性选择器

a[data-filetype="image"] {   color: red;}

回到上一条,我们如何把所有的图片类型都选中呢png,jpeg,’jpg’,’gif’?我们可以使用多选择器。看下面:

a[href$=".jpg"],a[href$=".jpeg"],a[href$=".png"],a[href$=".gif"] {   color: red;}

但是这样写着很蛋疼啊,而且效率会很低。另外一个办法就是使用自定义属性。我们可以给每个锚点加个属性data-filetype指定这个链接指向的图片类型。

a[data-filetype="image"] {   color: red;}

16 selector[foo~=”bar”] : 属性选择器

a[data-info~="external"] {   color: red;} a[data-info~="image"] {   border: 1px solid black;}

这个我想会让你的小伙伴惊呼妙极了。很少有人知道这个技巧。这个~符号可以定位那些某属性值是空格分隔多值的标签。  

继续使用第15条那个例子,我们可以设置一个data-info属性,它可以用来设置任何我们需要的空格分隔的值。这个例子我们将指示它们为外部连接和图片链接。

给这些元素设置了这个标志之后,我们就可以使用~来定位这些标签了。

/* Target data-info attr that contains the value "external" */a[data-info~="external"] {   color: red;} /* And which contain the value "image" */a[data-info~="image"] {  border: 1px solid black;}

17 selector:checked : 伪类选择器

input[type=radio]:checked {   border: 1px solid black;}

上面这个伪类写法可以定位那些被选中的单选框和多选框,就是这么简单。

18 selector通用选择器5 : 伪类选择器  

通用选择器6和after这俩伪类。好像每天大家都能找到使用它们的创造性方法。它们会在被选中的标签周围生成一些内容。  

当使用.通用选择器7-fix技巧时许多属性都是第一次被使用到里面的。

.clearfix:after {    content: "";    display: block;    clear: both;    visibility: hidden;    font-size: 0;    height: 0;  } .clearfix {    *display: inline-block;    _height: 1%;}

上面这段代码会在目标标签后面补上一段空白,然后将它清除。这个方法你一定得放你的聚宝盆里面。特别是当通用选择器8:hidden方法不顶用的时候,这招就特别管用了。  

根据CSS3标准规定,可以使用两个冒号::。然后为了兼容性,浏览器也会接受一个冒号的写法。其实在这个情况下,用一个冒号还是比较明智的。

19 selector:hover  : 伪类选择器

p:hover {  background: #e3e3e3;}

不用说,大家肯定知道它。官方的说法是user 通用选择器9 pseudo class.听起来有点儿迷糊,其实还好。如果想在用户鼠标飘过的地方涂点儿彩,那这个伪类写法可以办到。  

注意:旧版本的IE只会对加在锚点a标签上的:hover伪类起作用。  

通常大家在鼠标飘过锚点链接时候加下边框的时候用到它。

a:hover { border-bottom: 1px solid black;}

专家提示:border-bottom:1px solid black;比text-decoration:underline;要好看很多。

20 selector1:not(selector2) : 伪类选择器

p:not(#container) {   color: blue;}

取反伪类是相当有用的,假设我们要把除id为container之外的所有p标签都选中。那上面那么代码就可以做到。  

或者说我想选中所有出段落标签之外的所有标签

:not(p) {  color: green;}

21 selector::pseudoElement : 伪类选择器

p::first-line {  font-weight: bold;  font-size:1.2em;}

我们可以使用::来选中某标签的部分内容,如第一段,或者是第一个字。但是记得必须使用在块式标签上才起作用。  

伪标签是由两个冒号 :: 组成的  

定位第一个字:

p::first-letter {   float: left;   font-size: 2em;   font-weight: bold;   font-family: cursive;   padding-right: 2px;}

上面这段代码会找到页面上所有段落,并且指定为每一段的第一个字。

它通常在一些新闻报刊内容的重点突出会使用到。

定位某段的第一行

p::first-line {   font-weight: bold;   font-size: 1.2em;}

跟::first-line相似,会选中段落的第一行  

为了兼容性,之前旧版浏览器也会兼容单冒号的写法,例如:first-line,:first-letter,子选择器0,:after.但是这个兼容对新介绍的特性不起作用。

22 selector:nth-child(n) : 伪类选择器

li:nth-child(3) {   color: red;}

还记得我们面对如何取到堆叠式标签的第几个元素时无处下手的时光么,有了nth-child那日子就一去不复返了。  

请注意nth-child接受一个整形参数,然后它不是从0开始的。如果你想获取第二个元素那么你传的值就是li:nth-child(2).  

我们甚至可以获取到由子选择器1定义的个数个子标签。例如我们可以用li:nth-child(4n)去每隔3个元素获取一次标签。

23 selector:nth-last-child(n) : 伪类选择器

li:nth-last-child(2) {   color: red;}

假设你在一个ul标签中有N多的元素,而你只想获取最后三个元素,甚至是这样li:nth-child(397),你可以用nth-last-child伪类去代替它。

24 selectorX:nth-of-type(n) : 伪类选择器

ul:nth-of-type(3) {   border: 1px solid black;}

曾几何时,我们不想去选择子节点,而是想根据元素的类型来进行选择。  

想象一下有5个ul标签。如果你只想对其中的第三个进行修饰,而且你也不想使用id属性,那你就可以使用nth-of-type(n)伪类来实现了,上面的那个代码,只有第三个ul标签会被设置边框。

25 selector:nth-last-of-type(n) : 伪类选择器  

ul:nth-last-of-type(3) {   border: 1px solid black;}

同样,也可以类似的使用nth-last-of-type来倒序的获取标签。

26 selector子选择器2 : 伪类选择器

ul li:first-child {   border-top: none;}

这个结构性的伪类可以选择到第一个子标签,你会经常使用它来取出第一个和最后一个的边框。  

假设有个列表,每个标签都有上下边框,那么效果就是第一个和最后一个就会看起来有点奇怪。这时候就可以使用这个伪类来处理这种情况了。

27 selector:last-child : 伪类选择器

ul > li:last-child {   color: green;}

跟first-child相反,last-child取的是父标签的最后一个标签。  

例如  

标签

  • List Item
  • List Item
  • List Item

这里没啥内容,就是一个了 List。

ul { width: 200px; background: #292929; color: white; list-style: none; padding-left: 0;} li { padding: 10px; border-bottom: 1px solid black; border-top: 1px solid #3c3c3c;}

上面的代码将设置背景色,移除浏览器默认的子选择器3,为每个li设置边框以凸显一定的深度。

28 selector:only-child : 伪类选择器

p p:only-child {   color: red;}

说实话,你会发现你几乎都不会用到这个伪类。然而,它是相当有用的,说不准哪天你就会用到它。  

它允许你获取到那些只有一个子标签的父标签下的那个子标签。就像上面那段代码,只有一个段落标签的p才被着色。

my paragraph here.

Two paragraphs total.

魔法映像企业网站管理系统
魔法映像企业网站管理系统

技术上面应用了三层结构,AJAX框架,URL重写等基础的开发。并用了动软的代码生成器及数据访问类,加进了一些自己用到的小功能,算是整理了一些自己的操作类。系统设计上面说不出用什么模式,大体设计是后台分两级分类,设置好一级之后,再设置二级并选择栏目类型,如内容,列表,上传文件,新窗口等。这样就可以生成无限多个二级分类,也就是网站栏目。对于扩展性来说,如果有新的需求可以直接加一个栏目类型并新加功能操作

魔法映像企业网站管理系统 0
查看详情 魔法映像企业网站管理系统

Two paragraphs total.

上面例子中,第二个p不会被选中。一旦第一个p有了多个子段落,那这个就不再起作用了。

29 selector:only-of-type: 伪类选择器

li:only-of-type {   font-weight: bold;}

结构性伪类可以用的很聪明。它会定位某标签下相同子标签的只有一个的目标。设想你想获取到只有一个子标签的ul标签下的li标签呢?  

使用ul li会选中所有li标签。这时候就要使用only-of-type了。

ul > li:only-of-type {   font-weight: bold;

最后记住:使用像子选择器4等工具的时候,尽量使用原生的CSS3选择器。可能会让你的代码跑的很快。这样选择器引擎就可以使用浏览器原生解析器,而不是选择器自己的。

以上就是CSS3的30个选择器总结的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1608485.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月23日 21:53:55
下一篇 2025年12月23日 21:54:12

相关推荐

  • css3选择器的作用

    CSS3选择器的作用及代码示例 CSS(层叠样式表)是一种用于定义网页样式的语言,通过CSS3选择器,我们可以精确地选择并修改页面中的特定元素,从而实现更灵活的样式控制。本文将介绍CSS3选择器的作用,并提供一些具体的代码示例。 一、CSS3选择器的作用 精确选择元素:CSS3选择器可以根据元素的标…

    2025年12月24日
    000
  • 实践CSS3选择器的代码演练

    CSS3选择器动手实践代码 CSS3选择器是Web开发中非常重要的一部分,它可以帮助我们更好地选择和控制HTML元素。在本文中,我们将使用具体的代码示例来学习和实践CSS3选择器的用法。 第一种选择器是元素选择器。它通过HTML元素的标签名进行选择。例如,我们可以使用以下代码选择所有的段落元素: p…

    2025年12月24日
    000
  • 网页布局中的元素选择器的应用

    元素选择器在网页布局中的应用,需要具体代码示例 随着互联网的不断发展,网页设计和布局变得越来越重要。为了实现网页的美观和功能,我们需要使用 CSS (层叠样式表)来定义网页的外观和样式。而元素选择器是 CSS 中最常用和基本的选择器之一,它能够帮助我们对页面上的元素进行精确的定位和样式设置。 一、元…

    2025年12月24日
    000
  • 学习CSS代码基本选择器:快速入门从零开始学习选择器分类和应用

    快速入门CSS代码基本选择器:从零开始学习选择器的分类和应用 CSS(Cascading Style Sheets)是用来控制HTML文档样式的一种标记语言。在CSS中,选择器(Selector)用于选择要应用样式的HTML元素。简单来说,选择器就是用来指定哪些HTML元素会被CSS样式所影响。 选…

    2025年12月24日
    000
  • 学习基本CSS代码选择器:从零开始,熟悉选择器的分类和应用

    快速入门CSS代码基本选择器:从零开始学习选择器的分类和应用 CSS(Cascading Style Sheets)是用来控制HTML文档样式的一种标记语言。在CSS中,选择器(Selector)用于选择要应用样式的HTML元素。简单来说,选择器就是用来指定哪些HTML元素会被CSS样式所影响。 选…

    2025年12月24日
    000
  • 逐步掌握常用的CSS基础选择器

    了解CSS代码基本选择器:一步步掌握常用选择器 在HTML和CSS中,选择器是用来选择元素并应用样式的重要工具。了解和熟练使用CSS代码中的基本选择器是成为优秀前端开发人员的基本要求之一。本文将逐步介绍CSS代码中的常用选择器,帮助读者掌握选择器的基本用法和使用技巧。 元素选择器最基本的选择器就是元…

    2025年12月24日
    000
  • 选择器的作用形式有哪些

    选择器的作用形式有:1、元素选择器;2、类选择器;3、ID选择器;4、属性选择器;5、伪类选择器;6、伪元素选择器。详细介绍:1、元素选择器,是最基本的选择器,它根据HTML元素的标签名来选择元素;2、类选择器,通过元素的class属性来选择元素,类选择器以“.”开头,后跟类名;3、ID选择器,通过…

    2025年12月24日
    000
  • 使用:first-letter伪元素选择器改变段落中每个首字母的样式

    使用:first-letter伪元素选择器改变段落中每个首字母的样式 在CSS中,我们经常使用伪元素选择器来选择和改变元素的某些部分的样式。其中一个有趣的伪元素选择器是:first-letter。该选择器可以应用于段落中的首字母,从而改变其样式。下面我们就来看一下具体的代码示例。 HTML代码: p…

    2025年12月24日
    000
  • 使用:nth-child伪类选择器选择特定位置的子元素的CSS样式

    使用:nth-child伪类选择器选择特定位置的子元素的CSS样式 在CSS中,伪类选择器是用于选择HTML文档中特定状态的元素。除了常见的伪类选择器如:hover和:active,还有一个非常有用的伪类选择器是:nth-child,它允许我们选择特定位置的子元素。 :nth-child伪类选择器的…

    2025年12月24日
    000
  • 如何使用:not伪类选择器选择不符合条件的元素的CSS样式

    如何使用:not伪类选择器选择不符合条件的元素的CSS样式 在CSS中,我们经常会使用选择器来选择符合特定条件的元素,然后对它们应用样式。不过有时候,我们需要选择不符合特定条件的元素,并对其应用不同的样式。这时,就可以使用:not伪类选择器。 :not伪类选择器允许我们通过指定一组选择器,从中排除一…

    2025年12月24日
    000
  • 如何使用:first-line伪元素选择器改变第一行文字的样式

    如何使用:first-line伪元素选择器改变第一行文字的样式,需要具体代码示例 CSS中的伪元素选择器是一种强大的工具,可以通过选择特定的元素部分来改变其样式。其中,:first-line伪元素选择器可以用来选取元素的第一行,从而实现对第一行文字的样式改变。 首先,我们需要在HTML中定义一个包含…

    2025年12月24日
    000
  • 如何使用:focus伪类选择器改变表单元素的样式

    如何使用:focus伪类选择器改变表单元素的样式 引言: 在我们的网页设计中,表单元素是常见的交互组件,用户可以通过表单元素与网页进行交互。为了提升用户体验和界面美感,我们经常需要在用户与表单元素交互时改变其样式。本文将介绍如何使用:focus伪类选择器改变表单元素的样式,并提供具体的代码示例。 一…

    2025年12月24日
    000
  • 使用:first-of-type伪类选择器选择同类型元素中的第一个的样式

    CSS中的first-of-type伪类选择器可以用来选中同类型元素中的第一个元素并为其设置样式。这个选择器可以用于多个标签元素,例如p、div、span等等。 下面是一个具体的示例代码: HTML代码: 标题1 第一段文字 第二段文字 标题2 第三段文字 第四段文字 AI Content Dete…

    2025年12月24日 好文分享
    000
  • 使用:root伪类选择器选择文档的根元素的样式

    使用:root伪类选择器选择文档的根元素的样式,需要具体代码示例 在CSS中,我们可以使用:root伪类选择器来选择文档的根元素,并为其指定特定的样式。:root伪类选择器在大多数情况下等同于选择html元素,但是当文档中存在命名空间时,:root伪类选择器将选择默认命名空间的根元素。 下面是一个具…

    2025年12月24日
    000
  • 如何使用:only-of-type伪类选择器选择父元素只有一个同类型元素的CSS样式

    如何使用:only-of-type伪类选择器选择父元素只有一个同类型元素的CSS样式,需要具体代码示例 在使用CSS进行页面设计时,我们经常需要根据元素的数量或特定条件来选择并应用不同的样式。其中一个常用的伪类选择器是:only-of-type。该选择器可以选择父元素中只有一个同类型元素的样式。本文…

    2025年12月24日 好文分享
    000
  • 如何使用:nth-of-type(3n+1)伪类选择器选择位置符合3n+1条件的同类型元素的CSS样式

    如何使用:nth-of-type(3n+1)伪类选择器选择位置符合3n+1条件的同类型元素的CSS样式,需要具体代码示例 在CSS中,我们经常需要为特定位置的元素应用不同的样式。:nth-of-type(3n+1)伪类选择器提供了一种方便的方式来选择同类型的元素中符合3n+1条件的位置,并为其应用样…

    2025年12月24日
    000
  • 实现CSS :nth-last-of-type伪类选择器的各种应用场景

    实现CSS :nth-last-of-type伪类选择器的各种应用场景,需要具体代码示例 在CSS中,选择器是我们用来选择HTML元素并对其应用样式的一种方式。除了常见的基本选择器,如元素选择器、类选择器和ID选择器,CSS还提供了一些伪类选择器,来更精确地选择特定的元素。 其中一个常用的伪类选择器…

    2025年12月24日
    000
  • 实现CSS :nth-last-of-type(4n)伪类选择器的多种应用场景

    实现CSS :nth-last-of-type(4n)伪类选择器的多种应用场景,需要具体代码示例 在CSS中,伪类选择器是一种非常强大的工具,可以帮助我们更精确地选择DOM元素并对其样式进行控制。其中,:nth-last-of-type(4n)伪类选择器是一种特殊的选择器,可以选择倒数第四个兄弟元素…

    2025年12月24日
    000
  • 使用:nth-child(n+3)伪类选择器选择位置大于等于3的子元素的样式

    使用:nth-child(n+3)伪类选择器选择位置大于等于3的子元素的样式,具体代码示例如下: HTML代码: 第一个子元素 第二个子元素 第三个子元素 第四个子元素 第五个子元素 第六个子元素 第七个子元素 CSS代码: .item:nth-child(n+3) { color: red;} 解…

    2025年12月24日
    000
  • 有哪些css选择器

    css选择器有元素选择器、类选择器、ID选择器、属性选择器、后代选择器、子元素选择器、相邻兄弟选择器和通用选择器等。详细介绍:1、元素选择器,通过元素名称选择HTML元素,例如使用p选择器可以选择所有的段落元素;2、类选择器,通过类名选择HTML元素,类名以一个点开头,例如使用.class选择器可以…

    2025年12月24日
    000

发表回复

登录后才能评论
关注微信