CSS3---选择器

基本选择器
1.通配符选择器

*通配符——通配符选择器是用来选择所有元素,也可以选择某个元素下的所有元素

*{margin:0; padding:0;}

.demo *{border:1px solid #000;}
2.元素选择器(E)

元素选择器其实就是文档的元素,如html,body,p,div等等

li{border:1px solid #000;}
3.类选择器(.className)

1、使用类选择器之前需要在html元素上定义类名

<li class="active important items">2</li>
.important {font-weight: bold; color: yellow;}

2、类选择器还可以结合元素选择器来使用,如:

p.items {color: red;}

3、多类选择器(多类选择器不被IE6支持),如:

.important.items {background:#ccc;}
4.id选择器(#ID)

和上面说的类选择器很相似,不同的是ID选择器是一个页面中唯一的值

<li id="important">2</li>
#important {font-weight: bold; color: yellow;}
5.后代选择器(E F)

前面E为祖先元素,F为后代元素,所表达的意思就是选择了E元素的所有后代F元素,中间用空格隔开

demo li {color: blue;}
6.子元素选择器(E>F)

子元素选择器E > F,其中F仅仅是E的子元素而已

ul > li {background: green;color: yellow;}

IE6不支持子元素选择器

7.相邻兄弟元素选择器(E + F)

EF两元素具有一个相同的父元素,而且F元素在E元素后面,而且相邻

1、li + li {background: green;color: yellow; border: 1px solid #ccc;}

2、.active + li {background: green;color: yellow; border: 1px solid #ccc;}

IE6不支持

8.通用兄弟选择器(E 〜 F)

E和F元素是属于同一父元素之内,并且F元素在E元素之后,那么E ~ F 选择器将选择
所有E元素后面的F元素。

.active ~ li {background: green;color: yellow; border: 1px solid #ccc;}

IE6不支持

9.群组选择器(selector1,selector2,...,selectorN)

将具有相同样式的元素分组在一起,每个选择器之间使用逗号“,”隔开

.first, .last {background: green;color: yellow; border: 1px solid #ccc;}
属性选择器
1.E[attr]:只使用属性名,但没有确定任何属性值
.demo a[id] {background: blue; color:yellow;font-weight:bold;}

你也可以使用多属性进行选择元素,如E[attr1][attr2], 这样只要是同时具有这两属性的元素都将被选中

.demo a[href][title] {background: yellow; color:green;}

IE6不支持这个选择器

2.E[attr="value"]

E[attr="value"]是指定了属性值“value”

.demo a[id="first"] {background: blue; color:yellow;font-weight:bold;}

也可以多个属性并写,进一步缩小选择范围

.demo a[href="index.html"][title] {background: yellow; color:green;}

对于E[attr="value"]这种属性值选择器有一点需要注意:属性和属性值必须完全匹配,特别是对于属性值是词列表的形式时 <a href="" class="links item" title="open the website">7</a>

3.E[attr~="value"]

只要属性值中有一个value相匹配就可以选中该元素

.demo a[title~="website"]{background:orange;color:green;}

总结:属性选择器中有波浪(〜)时属性值有value时就相匹配,没有波浪(〜)时属性值要完全是value时才匹配。
IE6浏览器不支持

4.E[attr^="value"]

选择attr属性值以“value”开头的所有元素

.demo a[href^="http://"]{background:orange;color:green;}
.demo a[href^="mailto:"]{background:green;color:orange;}

IE6浏览器不支持

5.E[attr$="value"]

选择元素attr属性,并且他的属性值是以value结尾的
常用在网站给pdf,png,doc等不同文件加上不同icon

.demo a[href$="png"]{background:orange;color:green;}

IE6浏览器不支持

6.E[attr*="value"]

所选择的属性,其属性值中有这个"value"值都将被选中

.demo a[title*="site"]{background:black;color:white;}

IE6浏览器不支持

7.E[attr^="value"]

选择器会选择attr属性值等于value或以value-开头的所有元素

.demo a[lang^="zh"]{background:gray;color:yellow;}

IE6浏览器不支持

七种属性选择器中E[attr="value"]和E[attr* ="value"]是最实用的,其中E[attr="value"]能帮我们定位
不同类型的元素,特别是表单form元素的操作,比如说input[type="text"],input[type="checkbox"]
等,而E[attr*="value"]能在网站中帮助我们匹配不同类型的文件,比如说你的网站上不同的文件类型
的链接需要使用不同的icon图标,用来帮助你的网站提高用户体验,就像前面的实例,可以通过这个属
性给".doc",".pdf",".png",".ppt"配置不同的icon图标。

伪类选择器
1.动态伪类

a:link a:visited a:hover a:active

遵循爱(LoVe)恨(HAte)

:hover用于当用户把鼠标移动到元素上面时的效果;
:active用于用户点击元素那一下的效果(正发生在点的那一下,松开鼠标左键此动作也就完成了)
:focus用于元素成为焦点,这个经常用在表单元素上。

subm:focus{ border:1px solid transparent;box-shadow: 1px 1px 3px #f33;  }
2.UI元素状态伪类

:enabled :disabled :checked
主要是针对于HTML中的Form元素操作

input[type="text"]:disabled {border:1px solid #999;background-color: #fefefe;}
input[type]:checked{width:15px; height:15px;}

IE6-8不支持":checked",":enabled",":disabled"这三种选择器。

3.CSS3的:nth选择器

1、:first-child
2、:last-child
3、:nth-child(n) 数字、even偶数、odd奇数
4、:nth-last-child(n)
5、:only-child

:nth-child(n),其中n是一个简单的表达式,那么"n"取值从“1”开始计算,不能取负值

IE6-8和FF3-浏览器不支持":nth-child"选择器。
5、:nth-of-type
6、:nth-last-of-type
7、:first-of-type和:last-of-type
8、:only-of-type
9、:empty p:empty {display: none;}
IE6-8浏览器不支持:only-child选择器;
IE6-8和FF3.0-浏览器不支持:only-of-type选择器。
IE6-8浏览器不支持:empty选择器

4.否定选择器 :not()
input:not([type="submit"]) {border: 1px solid red;}

IE6-8浏览器不支持:not()选择器

5.伪元素

::first-letter
::first-line
::before
::after
::selection 改变网页被选中文本的样式

div::before{
    content : " ";
    display : inline-block;
}

下三角形 :

width:0;
border : 10px solid transparent
border-top-color : red;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 157,012评论 4 359
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,589评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,819评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,652评论 0 202
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,954评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,381评论 1 210
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,687评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,404评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,082评论 1 238
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,355评论 2 241
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,880评论 1 255
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,249评论 2 250
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,864评论 3 232
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,007评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,760评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,394评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,281评论 2 259

推荐阅读更多精彩内容

  • 一,CSS3 选择器分类 二,选择器语法 1,基本选择器语法 选择器 类型 功能描述 * 通配选择器 选择文档中所...
    newSpring666阅读 273评论 0 0
  • 一、属性选择器 Element[attr]只使用属性名,但没有确定任何属性值p[cxy]{background: ...
    EndEvent阅读 370评论 0 0
  • CSS3新增选择器 属性选择器E[attr]只使用属性名,但没有确定任何属性值E[type="text"]指定属性...
    奶瓶SAMA阅读 167评论 0 0
  • 属性选择器 属性选择器早在CSS2中就被引入了,其主要作用就是对带有指定属性的HTML 元素设置样式,而CSS3在...
    樱桃小丸子儿阅读 759评论 0 19
  • 一、明天 “妈妈,几点了?”一个粉嘟嘟的糯米团子,仰着她的小脑袋,眨巴着一双乌溜溜的眼睛,摇晃着妈妈的胳膊,奶声奶...
    评综侠影阅读 648评论 0 51