css之选择器篇
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了css之选择器篇,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含5425字,纯文字阅读大概需要8分钟。
内容图文
![css之选择器篇](/upload/InfoBanner/zyjiaocheng/395/3da9dd3308e74529b2a20d4cb8e096ec.jpg)
在我们看来这是个很神奇的事情,css可以写在页面之外,也可以写在页面内,而都不会影响到它去
获取这个元素,还有无论这个HTML结构多么复杂,这个css也能准确获取你所要的HTML元素,既然
那么强大,那么是不是实现过程也是很困难呢?
只能绝对说这个很很很很简单的。
这只要记住以下的选择符即可,噢,还有上一篇还介绍了些选择符。
子选择符
选择所有作为E元素的子元素F。 E>F
例子:
火狐是个"#">浏览器
相邻选择符
选择紧贴在E元素之后F元素。E+F
<style> p+p{ font-weight: bold; } </style> <p>火狐是个<a href="#">浏览器</a></p> <p>IE是个坑爹的浏览器</p>
兄弟选择符
选择E元素所有兄弟元素F。E~F
<style> li~li{ color: red; } </style> <ul> <li>大明的子女1</li> <li>大明的子女2</li> <li>大明的子女3</li> <li>大明的子女4</li> <li>大明的子女5</li> <li>大明的子女6</li> <li>大明的子女7</li> <li>大明的子女8</li> <li>大明的子女9</li> <li>大明的子女10</li> </ul>
这个选择符选择不包括自己之外所有F选择符。
id 及 class 选择符
<p id="p1"> 这是一个段落 </p> #p1 { font-size:12px; font-weight:bold; }
<p class="p1"> 这是一个段落 </p> .p1 { font-size:12px; font-weight:bold; }
id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式。
在网页中,每个id名称中只能使用一次,不得重复。
与id 不同,class 允许重复使用。比如页面中的多个元素,都可以使用同一个样式定义。
伪类选择符
E:link 设置超链接a在未被访问前的样式。
E:visited 设置超链接a在其链接地址已被访问过时的样式。
E:hover 设置元素在其鼠标悬停时的样式。
E:active 设置元素在被用户激活(在鼠标点击与释放之间发生的事件)时的样式。
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>伪类</title>
<style>
a:link{
color: #00ffff;
}
a:visited{
color: #000;
}
a:hover{
color: #ff7600;
}
a:active{
color: #eee;
}
</style>
</head>
<body>
<a href="#">click into</a>
</body>
</html>
注意:这个4个伪类选择符的顺序按照 link-visited-hover-active
顺序乱来会出现问题,这个问题请移步到上篇扩展内容
E:focus 设置元素在成为输入焦点(该元素的onfocus事件发生)时的样式。
使用在表单中或能获取光标的元素上。
input:focus{ outline: 2px solid #ff7600; } <input type="text">
E:lang(fr) 匹配使用特殊语言的E元素。很少用
匹配中英双版,可能要使用到。
p:lang(en){ font-size: 14px; } <p>IE是个坑爹的浏览器</p>
E:not(s) 匹配不含有s选择符的元素E。
ul li:not(.li3){ color: #fff; } <ul> <li>大明的子女1</li> <li>大明的子女2</li> <li class="li3">大明的子女3</li> <li>大明的子女4</li> <li>大明的子女5</li> <li>大明的子女6</li> <li>大明的子女7</li> <li>大明的子女8</li> <li>大明的子女9</li> <li>大明的子女10</li> </ul>
E:root 匹配E元素在文档的根元素。常指html元素
p:root{
background: blue;
}
E:first-child 匹配父元素的第一个子元素E。
ul:first-child{ font-size: 15px; } <ul> <li>大明的子女1</li> <li>大明的子女2</li> <li>大明的子女3</li> <li>大明的子女4</li> <li>大明的子女5</li> <li>大明的子女6</li> <li>大明的子女7</li> <li>大明的子女8</li> <li>大明的子女9</li> <li>大明的子女10</li> </ul>
第一个li被匹配;
E:last-child 匹配父元素的最后一个子元素E。
ul:last-child{
color: blue;
}
最后一个li被匹配;
E:only-child
body:only-child{ color: blue; } <p>火狐是个<a href="#">浏览器</a></p> <p>IE是个坑爹的浏览器</p> <input type="text">
input被匹配;
E:nth-child(n) 匹配父元素的第n个子元素E。
ul:nth-child(1){
color: blue;
}
ul下的第一个li被匹配;
E:nth-last-child(n) 匹配父元素的倒数第n个子元素E。
ul:nth-last-child(1){
color: blue;
}
ul的子元素li的倒数第一个被匹配到。
E:first-of-type 匹配同类型中的第一个同级兄弟元素E。
li:first-of-type{
font-weight: bold;
}
同类型li的第一个被选中;
E:last-of-type 匹配同类型中的最后一个同级兄弟元素E。
li:last-of-type{
border: 1px solid #ddd;
}
同类型li的最后一个被选中;
E:only-of-type 匹配同类型中的唯一的一个同级兄弟元素E。
li:only-of-type{
font-weight: bold;
}
E:nth-of-type(n) 匹配同类型中的第n个同级兄弟元素E。
li:nth-of-type(3){
font-weight: bold;
}
第三li被匹配;
E:nth-last-of-type(n) 匹配同类型中的倒数第n个同级兄弟元素E。
li:nth-last-of-type(3){
background: green;
}
倒数第三个被匹配;
E:empty 匹配没有任何子元素(包括text节点)的元素E。
E:checked 匹配用户界面上处于选中状态的元素E。 (用于input type为radio与checkbox时)
input:checked{ width: 100px; } <input type="checkbox" name="name" id="1"> <input type="checkbox" name="name" id="2"> <input type="checkbox" name="name" id="3"> <input type="checkbox" name="name" id="4">
E:enabled 匹配用户界面上处于可用状态的元素E。
E:disabled 匹配用户界面上处于禁用状态的元素E。
E:target 匹配相关URL指向的E元素。
ul li a:target{ color: red; } <ul> <li><a href="#nav1" id="nav1">导航一</a></li> <li><a href="#nav2" id="nav2">导航二</a></li> <li><a href="#nav3" id="nav3">导航三</a></li> </ul>
这个一定要设置路径URL,不是不行。只能使用与锚点,就是本页跳转。
不过可以使用来代表激活状态,以前是需要js实现的。
ok~
扩展小知识:
接上一篇又补充一些,让我们对css的理解更加深刻。
层叠样式表
层叠是什么意思?为什么这个词如此重要,以至于要出现在它的名称里。
层叠可以简单地理解为冲突的解决方案。
优先级规则可以表述为
行内样式>ID样式>类别样式>标记样式
在复杂的页面中,某一个元素有可能会从很多地方获取样式,例如一个网站的某一级标题整体设置为使用绿色,而对某个特殊栏目
需要使用蓝色,这样在栏目中就需要覆盖通用的样式设置。在很简单的页面中,这样的特殊需求实现起来不会很难,但是如果网站
的结构很复杂,就完全有可能代码变得非常混乱,可能出现无法找到某个元素的样式来自于哪条规则的情况。因此,必须要充分理
解css中“层叠”的原理。
计算冲突样式的优先级是一个比较复杂的过程,并不仅仅是上面这个简单的优先级规则可以完全描述的。但是使用者可以把把握 一个大的
原则,就是“越特殊的样式,优先级越高”行内样式对指定的一个元素产生影响,非常特殊,ID是针对某个元素的,因此它一定比应用于多个
元素的类别样式特殊。特殊性越高的元素,优先级越高。
内容总结
以上是互联网集市为您收集整理的css之选择器篇全部内容,希望文章能够帮你解决css之选择器篇所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。