详细介绍CSS中的伪选择器
2015-05-18 15:52
429 查看
说到伪选择器,真的让我体会到了CSS的无比强大,强大到自己貌似都不认识CSS了,有点C# 6.0中一些语法糖带给我们的震撼。。。首先
我们可以在VS里面提前预览一下。
可以看到,上面的伪类有很多很多,多的让我眼都快瞎了。。。下面就挑一些实用性比较强的说一说。
一 :nth-child 伪选择器
我们知道在jquery中有一种选择器叫做“子类选择器”,对应的有:nth-child,:first-child,:last-child,:only-child,这回在CSS中同样
可以办到,可以说一定程度上缓解了jquery的压力,下面简单举个例子。<head>
可以看到,当我灌的是:nth-child(1)的时候,ul的第一个li的color已经变成red了,如果复杂一点的话,可以将1改成n,浏览器在解析css的伪类
选择器的时候,内部应该会调用相应的方法来解析到对应dom的节点,首先要明白n是从0,步长为1的递增,这个和jquery的nth-child类似,没
什么好说的,然后我们尝试下:first-child 和 last-child。
二 :checked,:unchecked,:disabled,:enabled
同样在jquery中,有一组选择器叫做“表单对象属性“,我们可以看看jquery的在线文档。
同样我们很开心的发现,在css中也存在这些属性。。。是不是开始有点醉了。。。还是先睹为快。
1. disabled,enabled
2. checked,unchecked
3. selected
这个在css中虽然没有原装的,但是可以用option:checked来替代,比如下面这样。
三 empty伪选择器
这个选择器有点意思,在jquery中叫做”内容选择器“,就是用来寻找空元素的,如果玩转jquery的empty,这个也没有什么问题,
下面举个例子,让第一个空p的背景变色。
四:not(xxx) 伪选择器
同样这个也是非常经典的not选择器,在jquery中叫做”基本选择器“,想起来了没有???
总的来说,当你看完上面这些,是不是觉得css3中已经融入了一些”脚本处理行为”,这种感觉就是那个css再也不是你曾今认识的那个css了。
我们可以在VS里面提前预览一下。
可以看到,上面的伪类有很多很多,多的让我眼都快瞎了。。。下面就挑一些实用性比较强的说一说。
一 :nth-child 伪选择器
我们知道在jquery中有一种选择器叫做“子类选择器”,对应的有:nth-child,:first-child,:last-child,:only-child,这回在CSS中同样
可以办到,可以说一定程度上缓解了jquery的压力,下面简单举个例子。<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title></p> <p> <style type="text/css"> ul li:nth-child(1) { color: red; } </style> </head> <body> <ul> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> <li>6</li> </ul> </body>
可以看到,当我灌的是:nth-child(1)的时候,ul的第一个li的color已经变成red了,如果复杂一点的话,可以将1改成n,浏览器在解析css的伪类
选择器的时候,内部应该会调用相应的方法来解析到对应dom的节点,首先要明白n是从0,步长为1的递增,这个和jquery的nth-child类似,没
什么好说的,然后我们尝试下:first-child 和 last-child。
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title></p> <p> <style type="text/css"> ul li:first-child { color: red; font-weight:800; }</p> <p> ul li:last-child { color: blue; font-weight: 800; } </style> </head> <body> <ul> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> <li>6</li> </ul> </body> </html>
二 :checked,:unchecked,:disabled,:enabled
同样在jquery中,有一组选择器叫做“表单对象属性“,我们可以看看jquery的在线文档。
同样我们很开心的发现,在css中也存在这些属性。。。是不是开始有点醉了。。。还是先睹为快。
1. disabled,enabled
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title></p> <p> <style type="text/css"> input[type='text']:enabled { border: 1px solid red; }</p> <p> input[type='text']:disabled { border: 1px solid blue; } </style></p> <p></head> <body> <form> <input type="text" disabled="disabled" /> <input type="text"/> </form> </body> </html>
2. checked,unchecked
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title></p> <p> <style type="text/css"> form input[type="radio"]:first-child:checked { margin-left: 205px; } </style></p> <p></head> <body> <form> <input class="test" type="radio" value="女" /><span>女</span><br/> <input class="test" type="radio" value="男" /><span>男</span></p> <p> </form> </body> </html>
3. selected
这个在css中虽然没有原装的,但是可以用option:checked来替代,比如下面这样。
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title></p> <p> <style type="text/css"> option:checked { color: red; } </style></p> <p></head> <body> <form> <select> <option>1</option> <option>2</option> <option>3</option> </select> </form> </body> </html>
三 empty伪选择器
这个选择器有点意思,在jquery中叫做”内容选择器“,就是用来寻找空元素的,如果玩转jquery的empty,这个也没有什么问题,
下面举个例子,让第一个空p的背景变色。
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title></p> <p> <style type="text/css"></p> <p> p:first-child{ width:500px; height:20px; }</p> <p> p:empty { background:red; } </style></p> <p></head> <body> <p></p> <p>他好</p> </body> </html>
四:not(xxx) 伪选择器
同样这个也是非常经典的not选择器,在jquery中叫做”基本选择器“,想起来了没有???
总的来说,当你看完上面这些,是不是觉得css3中已经融入了一些”脚本处理行为”,这种感觉就是那个css再也不是你曾今认识的那个css了。
相关文章推荐
- 【CSS】CSS详细介绍:(HTML/CSS结合方式、CSS代码格式、选择器、盒子模型)
- 图解CSS的padding,margin,border属性(详细介绍及举例说明)
- css+div详细介绍及举例说明
- 使用HTML5里的classList操作CSS类的详细介绍
- CSS的插入和选择器介绍
- # html+css基础学习笔记-选择器介绍
- css中padding、margin两个重要属性的详细介绍
- css伪类选择器详细解析及案例使用-----伪类选择器(1)
- CSS 选择器及各样式引用方式介绍
- css中position的详细介绍
- css 串联选择器和后代选择器介绍及示例
- Css文档流(Normal Flow)详细介绍
- 图解CSS的padding,margin,border属性(详细介绍及举例说明)
- CSS三种基本选择器介绍及应用
- css 滤境的详细介绍
- CSS——EM详细功能介绍
- jQuery选择器详细介绍:基本选择器,层次选择器,属性选择器
- css后代选择器和子选择器的区别介绍
- css+div详细介绍及举例说明 .
- 陈力:传智播客古代 珍宝币 泡泡龙游戏开发第八讲:DIV+CSS中类选择器、id选择器和html选择器介绍