CSS的选择符有很多,大致分为八种:
- 通配选择符
- 元素选择符
- 群组选择符
- 关系选择符
- id及class类选择符
- 伪类选择符
- 属性选择符
- 伪对象选择符
1.通配选择符:
可以使用模糊指定的方式来对对象进行选择。
* {
color:blue;
background-color:red;
}
2.元素选择符:
指以网页中已有的标签名作为名称的选择符。
h1{
color:red;
}
3.群组选择符:
对一组标签进行相同的样式定义。
h1,p{
font-size:30px;
font-family:"微软雅黑";
color:#333;
}
4.关系选择符:
- 包含选择符(E F)
选择所有被E元素包含的F元素。.son1 a{color:blue;}
- 子选择符(E>F)
选择所有作为E元素的子元素F。.son1>a{color:red;}
- 相邻选择符(E+F)
选择紧贴在E元素之后的F元素。.son1+div{color:green;}
- 兄弟选择符(E~F)
选择E元素所有的兄弟元素F。.son1~div{color:yellow;}
效果图:
- 包含选择符(E F)
5.id及class类选择符:
id选择符:
可以为标有特定id的HTML元素指定特定的样式,以"#"来定义,每一个id名称只能使用一次,不得重复。
#p1{
font-size:12px;
font-weight:bold;
}
class选择符:
与Id选择符不同,class可以重复使用,将多个元素使用同一个样式定义。
.p1{
font-size:12px;
font-weight:bold;
}
6.伪类选择符
- E:link ——设置元素E在未被访问前的样式
- E:visited ——设置元素E在已被访问后的样式
- E:hover ——设置元素E在其鼠标悬停时的样式
- E:active ——设置元素E在被用户激活时的样式
a{text-decoration: none;}
a:link{color:red;}
a:hover{color:green;}
a:active{color:blue;}
a:visited{color:purple;}效果是a标签在未访问前是红色,鼠标悬停时是绿色,鼠标点击时是蓝色,访问后时紫色。
- E:focus ——设置元素成为输入焦点时的样式
input:focus{background-color: blue;}
效果是文本框在成为输入焦点时背景变为蓝色。
- E:lang(fr) ——匹配使用特殊语言的元素E
- E:not(s) ——匹配不含s选择符的元素E
- E:root ——匹配元素E的在文档的根元素,常指html元素
- E:first-child ——匹配父元素的第一个子元素E
- E:last-child ——匹配父元素的最后一个子元素E
- E:only-child ——匹配父元素的仅有的一个子元素E
- E:nth-child(n) ——匹配父元素的第n个子元素E
- E:nth-last-child(n) ——匹配父元素的倒数第n个子元素E
li:only-child{color:red;} li:first-child{color:red;}
li:last-child{color:blue;}
li:nth-child(2){color:yellow;}
li:nth-last-child(2){color:yellow;}效果图:
- E:first-of-type ——匹配同类型中的第一个同级兄弟元素E
- E:last-of-type ——匹配同类型中的最后一个同级兄弟元素E
- E:only-of-type ——匹配同类型中的唯一的一个同级兄弟元素E
- E:nth-of-type(n) ——匹配同类型中的第n个同级兄弟元素E
- E:nth-last-of-type(n) ——匹配同类型中的倒数第n个同级兄弟元素E
.ul3 li:only-of-type{color:red;} li:first-of-type{color:red;}
li:last-of-type{color:blue;}
li:nth-of-type(2){color:yellow;}
li:nth-last-of-type(2){color:yellow;}效果图:
- E:empty ——匹配没有任何子元素的元素E
input:empty{border-color:red;}
效果为背景变成红色,因为input元素没有子元素。
- E:checked ——匹配用户界面上处于选中状态的元素E
input[name="love[]"]:checked+label{color:blue;background-color:red;}
- E:enabled ——匹配用户界面上处于可用的状态的元素E
input:enabled{color:red;}
- E:disabled ——匹配用户界面上处于禁用的状态的元素E
input:disabled{color:blue;}
- E:target ——匹配相关URL指向的元素E
属性选择符:
- E[att] ——选择具有att属性的E元素。
p[class]{color:green;}
- E[att="val"] ——选择具有att属性且属性值等于val的E元素
p[class="qq"]{color:red;}
- E[att~="val"] ——选择具有att属性且属性值为用空格分隔的字词列表,其中一个等于val的E元素
p[class~="abc"]{color:blue;}
- E[att^="val"] ——选择具有att属性且属性值为以val开头的字符串的E元素。
p[class^="aa"]{color:yellow;}
- E[att$="val"] ——选择具有att属性且属性值为以val结尾的字符串的E元素。
p[class$="abc"]{color:black;}
- E[att*="val"] ——选择具有att属性且属性值为包含val的字符串的E元素。
p[class*="z"]{color:orange;}
- E[att|="val"] ——选择具有att属性且属性值为以val开头并用连接符"-"分隔的字符串的E元素。
p[class|="y"]{color:#ccc;}
- E[att] ——选择具有att属性的E元素。
伪对象选择符:
- E::first-letter ——设置对象内的第一个字符的样式。
p::first-letter {font-size:20px;font-weight:bold;}
- E::first-line ——设置对象内的第一行的样式。
p::first-line {color:blue;}/
- E::before ——设置在对象前发生的内容。用来和content属性一起使用
p::before{content:'123';}
- E::after ——设置在对象后发生的内容。用来和content属性一起使用
p::after{content:'123';}
- E::placeholder ——设置对象文字占位符的样式。
input::-webkit-input-placeholder {color: green;}
- E::selection ——设置对象被选择时的颜色
p::-webkit-selection{ background-color: #E13300; color: white; }
- E::first-letter ——设置对象内的第一个字符的样式。
CSS3的chapter2的更多相关文章
-
使用 HTML5、CSS3 和 MathML 在 EPUB 3 中制作版式丰富的出版物
探索用于高级排版和印刷的新一代开放电子书标准 EPUB 3.0 是最新的行业标准 XML 电子书格式,它采用了 HTML5 和 CSS3,因而融入了现代 Web 技术.它重点关注 XML 驱动的工具包 ...
-
纯CSS3实现的一些酷炫效果
之前在网上看到一些用纯CSS3实现的酷炫效果,以为实现起来比较困难,于是想看看具体是怎么实现的. 一.笑脸猫动画 实现效果如下: 这个实现起来确实比较麻烦,很多地方需要花时间,有耐心地调整. 1.先看 ...
-
CSS3 border-radius边框圆角
在CSS3中提供了对边框进行圆角设定的支持,可对边框1~4个角进行圆角样式设置. 目录 1. 介绍 2. value值的格式和类型 3. border-radius 1~4个参数说明 4. 在线示例 ...
-
CSS3 3D立方体效果-transform也不过如此
CSS3系列已经学习了一段时间了,第一篇文章写了一些css3的奇技淫巧,原文戳这里,还获得了较多网友的支持,在此谢过各位,你们的支持是我写文章最大的动力^_^. 那么这一篇文章呢,主要是通过一个3D立 ...
-
三分钟学会用 js + css3 打造酷炫3D相册
之前发过该文,后来不知怎么回事不见了,现在重新发一下. 中秋主题的3D旋转相册 如图,这是通过Javascript和css3来实现的.整个案例只有不到80行代码,我希望通过这个案例,让正处于迷茫期的j ...
-
使用CSS3实现一个3D相册
CSS3系列我已经写过两篇文章,感兴趣的同学可以先看一下CSS3初体验之奇技淫巧,CSS3 3D立方体效果-transform也不过如此 第一篇主要列出了一些常用或经典的CSS3技巧和方法:第二篇是一 ...
-
Web大前端时代之:HTML5+CSS3入门系列
准备来一波新技术,待续.... Old: 联系源码:https://github.com/dunitian/LoTHTML5 文档下载:https://github.com/dunitian/LoTD ...
-
07. Web大前端时代之:HTML5+CSS3入门系列~H5 地理位置
Web大前端时代之:HTML5+CSS3入门系列:http://www.cnblogs.com/dunitian/p/5121725.html 源码:https://github.com/duniti ...
-
前端制作动画的几种方式(css3,js)
制作动态的网页是是前端工程师必备的技能,很好的实现动画能够极大的提高用户体验,增强交互效果,那么动画有多少实现方式,一直对此有选择恐惧症的我就总结一下,以便在开发的时候选择最好的实现方式. 1.css ...
随机推荐
-
checkbox全选和反选
$("#CheckBox").click(function () { if (this.checked) { ...
-
E. Fish (概率DP)
E. Fish time limit per test 3 seconds memory limit per test 128 megabytes input standard input outpu ...
-
struts2类型转换相关问题
一.类型转化错误时,如何处理? 若Action类没有实现ValidationAware接口,在类型转化错误时,struts2会继续调用action方法,将该属性值置为默认值,不报错. 若Action类 ...
-
2017-12-19python全栈9期第四天第一节之昨日内容回顾与作业讲解之插入insert和extend
#!/user/bin/python# -*- coding:utf-8 -*-li = ['zs','ls','ww','zl']li.insert(4,'cc')print(li)li.exten ...
-
The CLI moved into a separate package: webpack-cli.解决办法
The CLI moved into a separate package: webpack-cli.Please install ‘webpack-cli‘ in addition to webpa ...
-
nGrinder Loadrunner vs nGrinder
s d 功能 参数类型 取值方式 迭代方式 Loadrunner实现方式 nGrinder实现方式 参数化 文件 sequential (顺序取值) Each Iteration (每次迭代) 在参 ...
-
Visual Studio强大的帮助工具--Resharper安装与使用
ReSharper是一个JetBrains公司出品的代码生成工具,其能帮助Microsoft Visual Studio成为一个更佳的IDE.使用ReSharper,你可以进行深度代码分析,智能代码协 ...
-
java协变逆变,PECS
public static void main(String[] args) { // Object <- Fruit <- Apple <- RedApple System.out ...
-
300最长上升子序列 &#183; Longest Increasing Subsequence
[抄题]: 往上走台阶 最长上升子序列问题是在一个无序的给定序列中找到一个尽可能长的由低到高排列的子序列,这种子序列不一定是连续的或者唯一的. 样例 给出 [5,4,1,2,3],LIS 是 [1,2 ...
-
docker和kubernetes docker的区别
之前公司的测试环境,刚开始自己搭建虚拟机,然后安装redis,nginx,mq,mysql,tomcat,jdk,marven,还有jekins.前面些还算好点,jekins还是比较麻烦的.然后搭完以 ...