【转载】推荐三十款CSS选择器代码 http://www.w3cfuns.com/thread-1361-1-1.html (出处: 前端网(W3Cfuns))

6. X:visited和X:link
a:link { color: red; }   
a:visted { color: purple; } 
使用:link伪类作用于未点击过的链接标签。:hover伪类作用于点击过的链接。
兼容浏览器:IE7+、Firefox、Chrome、Safari、Opera

7. X+Y
ul + p {color: red;} 
相邻选择器,上述代码中就会匹配在ul后面的第一个p,将段落内的文字颜色设置为红色。(只匹配第一个元素)
兼容浏览器:IE7+、Firefox、Chrome、Safari、Opera

8. X>Y
div#container > ul { border: 1px solid black;} 
<div id=”container”>
      <ul>
         <li> List Item
           <ul>
              <li> Child </li>
           </ul>
         </li>
         <li> List Item </li>
         <li> List Item </li>
         <li> List Item </li>
      </ul> 
  </div> 
子选择器。与后代选择器X Y不同的是,子选择器只对X下的直接子级Y起作用。在上面的css和html例子中,div#container>ul仅对container中最近一级的ul起作用。从理论上来讲X > Y是值得提倡选择器,可惜IE6不支持。
兼容浏览器:IE7+、Firefox、Chrome、Safari、Opera

9. X ~ Y
ul ~ p { color: red;}
相邻选择器,与前面提到的X+Y不同的是,X~Y匹配与X相同级别的所有Y元素,而X+Y只匹配第一个。
兼容浏览器:IE7+、Firefox、Chrome、Safari、Opera

重点学习新知识:【属性选择器】

10. X[title]
a[title] { color: green;} 
属性选择器。比如上述代码匹配的是带有title属性的链接元素。
兼容浏览器:IE7+、Firefox、Chrome、Safari、Opera

11. X[title="foo"]
a[href="http://www.w3cfuns.com"] { color: #1f6053; } 
属性选择器。 上面的代码匹配所有拥有href属性,且href为http://www.w3cfuns.com的所有链接。
这个功能很好,但是多少又有些局限。如果我们希望匹配href包含css9.net的所有链接该怎么做呢?看下一个选择器。
兼容浏览器:IE7+、Firefox、Chrome、Safari、Opera

12. X[title*="http://www.w3cfuns.com"]
a[href*="http://www.w3cfuns.com"] {color: #1f6053;} 
属性选择器。正如我们想要的,上面代码匹配的是href中包含”http://www.w3cfuns.com“的所有链接。
兼容浏览器:IE7+、Firefox、Chrome、Safari、Opera

13. X[href^="http"]
a[href^="http"] {background: url(path/to/external/icon.png) no-repeat; padding-left: 10px;} 
属性选择器。上面代码匹配的是href中所有以http开头的链接。
兼容浏览器:IE7+、Firefox、Chrome、Safari、Opera

14. X[href$=".jpg"]
a[href^="http"] { background: url(path/to/external/icon.png) no-repeat;padding-left: 10px;} 
属性选择器。在属性选择器中使用$,用于匹配结尾为特定字符串的元素。在上面代码中匹配的是所有链接到扩展名为.jpg图片的链接。(注意,这里仅仅是.jpg图片,如果要作用于所有图片链接该怎么做呢,看下一个选择器。)
兼容浏览器:IE7+、Firefox、Chrome、Safari、Opera

15. X[data-*="foo"]
在上一个选择器中提到如何匹配所有图片链接。如果使用X[href$=".jpg"]实现,需要这样做:
a[href$=".jpg"],
a[href$=".jpeg"],
a[href$=".png"],
a[href$=".gif"] {
     color: red;
  } 
看上去比较麻烦。另一个解决办法是为所有的图片链接加一个特定的属性,例如‘data-file’

html代码
<a href=”path/to/image.jpg” data-filetype=”image”> 图片链接 </a>
css代码如下:
a[data-filetype="image"] {
      color: red;
   } 
这样所有链接到图片的链接字体颜色为红色。
兼容浏览器:IE7+、Firefox、Chrome、Safari、Opera

16. X[foo~="bar"]
属性选择器。属性选择器中的波浪线符号可以让我们匹配属性值中用空格分隔的多个值中的一个。看下面例子:

html代码
<a href=”path/to/image.jpg” data-info=”external image”> Click Me, Fool </a>
css代码
a[data-info~="external"] {
      color: red;
   }
a[data-info~="image"] {
      border: 1px solid black;
   }
在上面例子中,匹配data-info属性中包含“external”链接的字体颜色为红色。匹配data-info属性中包含“image”的链接设置黑色边框。
兼容浏览器:IE7+、Firefox、Chrome、Safari、Opera

附w3c解说:

<p class="important warning">This paragraph is a very important warning.</p>

  如果写成 p[class="important"],那么这个规则不能匹配示例标记。

  要根据具体属性值来选择该元素,必须这样写:

p[class="important warning"] {color: red;}

根据部分属性选择:

  如果需要根据属性值中的词列表的某个词进行选择,则需要使用波浪号(~)。

  假设您想选择 class 属性中包含 important 的元素,可以用下面这个选择器做到这一点:

  p[class~="important"] {color: red;}

  该选择器等价于我们在类选择器中讨论过的点号类名记法。

  也就是说,p.important 和 p[class="important"] 应用到 HTML 文档时是等价的。

  那么,为什么还要有 "~=" 属性选择器呢?因为它能用于任何属性,而不只是 class。

  img[title~="Figure"] {border: 1px solid gray;}

  这个规则会选择 title 文本包含 "Figure" 的所有图像。没有 title 属性或者 title 属性中不包含 "Figure" 的图像都不会匹配。

/***************************************/ 

【伪类选择器】
17. X:checked
checked伪类用来匹配处于选定状态的界面元素,如radio、checkbox。
input[type=radio]:checked {
      border: 1px solid black;
   }
上面代码中匹配的是所有处于选定状态的单选radio,设置1px的黑色边框。
兼容浏览器:IE9+、Firefox、Chrome、Safari、Opera

18. X:after和X:before
这两个伪类与content结合用于在元素的前面或者后面追加内容,看一个简单的例子:
h1:after {content:url(/i/logo.gif)}
上面的代码实现了在h1标题的后面显示一张图片。
我们也经常用它来实现清除浮动,写法如下:
.clearfix:after {
       content: “”;
       display: block;
       clear: both;
       visibility: hidden;
       font-size: 0;
       height: 0;
      }      
.clearfix {
      *display: inline-block;
     _height: 1%;
   }

19. X:hover
div:hover {
     background: #e3e3e3;
   }
:hover伪类设定当鼠标划过时元素的样式。上面代码中设定了div划过时的背景色。
需要注意的是,在ie 6中,:hover只能用于链接元素。

这里分享一个经验,在设定链接划过时出现下滑线时,使用border-bottom会比text-decoration显得更漂亮些。代码如下:
a:hover {
    border-bottom: 1px solid black;
   }
兼容浏览器:IE6+、Firefox、Chrome、Safari、Opera

20. X:not(selector)
div:not(#container) {
      color: blue;
   }
否定伪类选择器用来在匹配元素时排除某些元素。在上面的例子中,设定除了id为container的div元素字体颜色为blue。
兼容浏览器:IE9+、Firefox、Chrome、Safari、Opera

21. X::pseudoElement
::伪类用于给元素片段添加样式。比如一个段落的第一个字母或者第一行。需要注意的是,这个::伪类只能用于块状元素。
下面的代码设定了段落中第一个字母的样式:
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;
  }
兼容浏览器:IE6+、Firefox、Chrome、Safari、Opera
(IE6竟然支持,有些意外啊。)

22. X:nth-child(n)
li:nth-child(3) {
      color: red;
   }
这个伪类用于设定一个序列元素(比如li、tr)中的第n个元素(从1开始算起)的样式。在上面例子中,设定第三个列表元素li的字体颜色为红色。

看一个更灵活的用法,在下面例子中设定第偶数个元素的样式,可以用它来实现隔行换色:
tr:nth-child(2n) {
      
   }
兼容浏览器:IE9+、Firefox、Chrome、Safari

23. X:nth-last-child(n)
li:nth-last-child(2) {
      color: red;
   }
与X:nth-child(n)功能类似,不同的是它从一个序列的最后一个元素开始算起。上面例子中设定倒数第二个列表元素的字体颜色。
兼容浏览器:IE9+、Firefox、Chrome、Safari、Opera

24. X:nth-of-type(n)
ul:nth-of-type(3) {
      border: 1px solid black;
   }
与X:nth-child(n)功能类似,不同的是它匹配的不是某个序列元素,而是元素类型。例如上面的代码设置页面中出现的第三个无序列表ul的边框。
兼容浏览器:IE9+、Firefox、Chrome、Safari

25. X:nth-last-of-type(n)
ul:nth-last-of-type(3) {
      border: 1px solid black;
   }
与X:nth-of-type(n)功能类似,不同的是它从元素最后一次出现开始算起。上面例子中设定倒数第三个无序列表的边框
兼容浏览器:IE9+、Firefox、Chrome、Safari、Opera

26. X:first-child                              //几乎不用
:first-child伪类用于匹配一个序列的第一个元素。我们经常用它来实现一个序列的第一个元素或最后一个元素的上(下)边框,如:
ul:nth-last-of-type(3) {
      border: 1px solid black;
   }
兼容浏览器:IE7+、Firefox、Chrome、Safari、Opera

27. X:last-child                               //几乎不用
ul > li:last-child {
      border-bottom:none;
  }
与:first-child类似,它匹配的是序列中的最后一个元素。
兼容浏览器:IE9+、Firefox、Chrome、Safari、Opera

28. X:only-child
div p:only-child {
      color: red;
   }
这个伪类用的比较少。在上面例子中匹配的是div下有且仅有一个的p,也就是说,如果div内有多个p,将不匹配。
<div><p> My paragraph here. </p></div>
<div>
      <p> Two paragraphs total. </p>
      <p> Two paragraphs total. </p>
</div>
在上面代码中第一个div中的段落p将会被匹配,而第二个div中的p则不会。
兼容浏览器:IE9+、Firefox、Chrome、Safari、Opera

29. X:only-of-type
li:only-of-type {
      font-weight: bold;
   }
这个伪类匹配的是,在它上级容器下只有它一个子元素,它没有邻居元素。例如上面代码匹配仅有一个列表项的列表元素。
兼容浏览器:IE9+、Firefox、Chrome、Safari、Opera

30. X:first-of-type
:first-of-type伪类与:nth-of-type(1)效果相同,匹配出现的第一个元素。我们来看个例子:
<div>
      <p> My paragraph here. </p>
      <ul>
         <li> List Item 1 </li>
         <li> List Item 2 </li>
      </ul>
      <ul>
         <li> List Item 3 </li>
         <li> List Item 4 </li>
      </ul>
  </div>
在上面的html代码中,如果我们希望仅匹配List Item 2列表项该如何做呢:

方案一:
ul:first-of-type > li:nth-child(2) {
      font-weight: bold;
  }

方案二:
p + ul li:last-child {
      font-weight: bold;
   }

方案三:
ul:first-of-type li:nth-last-child(1) {
      font-weight: bold;
   }
兼容浏览器:IE9+、Firefox、Chrome、Safari、Opera。

时间: 2024-08-02 14:43:46

【转载】推荐三十款CSS选择器代码 http://www.w3cfuns.com/thread-1361-1-1.html (出处: 前端网(W3Cfuns))的相关文章

ASP 三十二条精华代码 (1)

ASP 三十二条精华代码 (1) 2009-08-10 09:53:03  www.hackbase.com  来源:互联网 1. oncontextmenu="window.event.returnvalue=false" 将彻底屏蔽鼠标右键 <table border oncontextmenu=return(false)><td>no</table> 可用于Table 2. <body onselectstart="return

Windows系统下三十款优秀开源软件

Windows系统下三十款优秀开源软件 1.Firefox 官方网站:http://www.getfirefox.com/ 可替换Internet Explorer 功能特点:如果你还没有使用Firefox来作为你的网页浏览工具,那么你现在就可以动手了.它能够阻止那些烦人的弹出窗口,并且它还有大量优秀的插件,能够让你的网络冲浪体验更加美好.我可以全天候地赞美Firefox,但有一件事是肯定的:在新的Windows计算机上我要做的第一件事就是运行Internet Explorer,以让我去下载Fi

web前端【第三篇】CSS选择器

一.css概述 CSS是Cascading Style Sheets的简称,中文称为层叠样式表,对html标签的渲染和布局 CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明. 例如 二.css的四种引入方式 1.行内式 行内式是在标记的style属性中设定CSS样式.这种方式没有体现出CSS的优势,不推荐使用. 2.内嵌式 嵌入式是将CSS样式集中写在网页的<head></head>标签对的<style></style>标签对中.格式如下: 3.

第三百四十节,Python分布式爬虫打造搜索引擎Scrapy精讲—css选择器

第三百四十节,Python分布式爬虫打造搜索引擎Scrapy精讲-css选择器 css选择器 1. 2. 3. 举例: # -*- coding: utf-8 -*- import scrapy class PachSpider(scrapy.Spider): name = 'pach' allowed_domains = ['blog.jobbole.com'] start_urls = ['http://blog.jobbole.com/all-posts/'] def parse(self

转载:详解CSS选择器、优先级与匹配原

转载网址:http://polaris1119.javaeye.com/blog/764428 文章就CSS选择器的优先级问题做了一些总结,严格来讲,选择器的种类可以分为三种:标签名选择器.类选择器和ID选择器. 作为一个Web开发者,掌握必要的前台技术也是很重要的,特别是在遇到一些实际问题的时候.这里给大家列举一个例子: 给一个p标签增加一个类(class),可是执行后该class中的有些属性并没有起作用.通过Firebug查看,发现没有起作用的属性被覆盖了.这个时候突然意识到了CSS选择器的

(转载)深度学习三十年创新路

转载自:http://36kr.com/p/533832.html 编者注:深度学习火了,从任何意义上,大家谈论它的热衷程度,都超乎想象.但是,似乎很少有人提出不同的声音,说深度学习的火热,有可能是过度的繁荣,乃至不理性的盲从.而这次,有不同的想法出现了. 本篇文章来自依图科技 CEO Leo的投稿,依图科技是一家专注研究CV(Computer Vison,计算机视觉)的以技术驱动的创业公司,Leo自己也在这一领域有深入研究,因此这次写下这篇文章,希望回顾一下深度学习三十年的创新之路. 近期Na

还需要学习的十二种CSS选择器

在前面的文章中,我们在介绍了<五种你必须彻底了解的CSS选择器>,现在向大家介绍,还需要学习的另外十二种CSS选择器.如果你还没有用过,就好好学习一下,如果你已经熟知了就当是温习. 一.X:link X:visited X:hover X:active 伪类 a:link { color: red; }a:visted { color: purple; } 伪类选择器,visted已被访问过的样式,hover鼠标经过的样式,link未被访问的样式.三种伪类选择器常用于链接,但不是说只适用于链接

前端学习(十):CSS选择器

进击のpython 前端学习--CSS选择器 每一条CSS样式声明由两部分组成: 选择器{ 样式: } 在CSS中{}之前的部分就是"选择器","选择器"指明了{}中的"样式"的作用对象 也就是说该"样式"作用与网页中的哪些元素 那选择器就分为:基础选择器和高级选择器 基础选择器 标签选择器 标签选择器顾名思义就是html代码中的标签 我们之前学习的html.body.h系列的标签.p.div.img等等我们都可以使用标签选择

十款免费文件夹加密软件推荐

到底文件加密软件哪个好?现在人们越来越注意隐私保护,而保护电脑中的一些重要文件,最好的方式就是加密.文件加密软件既要考虑到加密安全可靠,又要考虑到系统稳定,同时也要想到万一密码忘记该怎么挽回损失,再者就是方便易用.提到文件加密软件,很多电脑用户都非常熟悉.文件加密软件主要是用于给文件设置密码,从而保护文件信息安全的方法.目前,可供电脑用户选择使用的文件加密软件还是非常多的.那么,哪个文件加密软件更好用呢?今天,小编就给大家推荐10款好用的电脑文件加密软件,希望可以帮到大家! 10款免费文件夹加密