网易微专业之《前端工程师》学习笔记(4)-CSS不常用选择器(草稿)

01.选择器有哪些

常用的标签、ID、类选择器不介绍了,这里讲的选择器兼容性,主流的都可以,IE低版本的不行。

  • 属性选择器

1、[att]

<input disabled type="text" value="张三">
[disabled]{background-color:#eee;}

2、[att=val]

<input type="button" value="按钮">
[type=button]{color:blue;}

注:其实ID选择器也可以写出这种属性选择器的样子。

#nav{}==[id=nav]{}

3、[att~=val]

如何选中标题和内容呢,就用这个

<h2 class="title sports">标题</h2>
<p class="sports">内容...</p>
[class~=sports]{color:blue;}

注:其实class选择器也可以写出这种属性选择器的样子。

.sports{}==[class~=sports]

4、[att|=val]

如何选中lang=en\en-us\en-au的p呢,用这个,这个写法不常用,一般会在lang属性中使用的比较多。

<p lang="en">Hello!</p>
<p lang="en-us">Greetings!</p>
<p lang="en-au">G'day!</p>
<p lang="enfr">Bonjour!</p>
<p lang="cy-en">Jrooana!</p>

[lang|=en]{color:red;}

5、[att^=val] 如何选中href中带#的页面内的超链接呢,用这个。

<a href="http://www.w3.org/">W3C</a>
<a href="#html">HTML</a>
<a href="#css">CSS</a>

[href^="#"]{color:red;}

6、[att$=val]以val属性值为结尾的属性

<a href="http://xxx.doc">word文档.doc</a>
<a href="http://xxxx.pdf">pdf文件.pdf</a>

[href$=pdf]{color:red;}

7、[att*=val]包含了val属性值的属性,比如选中超链接中包含http://lady.163.com的就可以用这个

<a href="http://lady.163.com/15.html">女星奥斯卡...</a>
<a href="http://lady.163.com/10.html">范玮琪产后...</a>
<a href="http://sports.163.com/12.html">曝李楠有望...</a>
<a href="http://sports.163.com/09.html">皇马1亿先...</a>

[href*="lady.163.com"]{color:pink;}

  • 伪类选择器

1、a:link;a:visited;a:hover;a:active;设置超链接的选择器,四个配在一起使用,注意一定要这个顺序的哟!

<a href="http://www.163.com">网页首页</a>

a:link{color:gray;}
a:visited{color:red;}
a:hover{color:green;}
a:active{color:orange;}

2、:enabled 定义可用的状态\:disabled 定义不可用的状态\:checked 定义选中的状态

input:enabled{color:#ccc;}
input:disabled{color:#ddd;}
input:checked{color:#red;}

3、:first-child:last-child以及:nth-child(even)

<ul>
   <li>一</li>
   <li>二</li>
   <li>三</li>
   <li>四</li>
   <li>五</li>
   <li>六</li>
 </ul>

li:first-child{color:red;}//第一个
li:last-child{color:gray;}//最后一个
li:nth-child(even){color:green;}//偶数项

另外:nth-child(even)的变体可以这样写:nth-child(3n+1)

4、:only-child选中元素底下只有一个子元素的项

<ul>
    <li>一</li>
</ul>
<ul>
    <li>一</li>
    <li>二</li>
</ul>

:only-child{color:red;}

5、:first-of-type:last-of-type:nth-of-type(even):nth-last-of-type(2n)

<dl>
   <dt>作者:</dt>
  <dd>Dave Shea</dd>
  <dd>Molly E. Holzschlag</dd>
 <dt>出版社:</dt>
<dd>人民邮电出版社</dd>
</dl>

dd:first-of-type{color:red;}  //Dave Shea
dt:last-of-type{color:gray;}  //出版社:
dd:nth-of-type(even){color:green;}  //偶数项Molly E. Holzschlag
dt:nth-last-of-type(2n){color:yellow;}  //作者:

6、:only-of-type

<p><span>CSS</span>和<span>HTML</span>是页面制作的基础</p>
<p><span>CSS</span>主要是用于定义<em>HTML</em>内容在浏览器的显示样子</p>

span:only-of-type{color:red;} //第二个CSS

7、:empty,可以选中比如下面那个空的p标签。

<p></p>
<p>段落一</p>

8、:root ,它选中的就是<html></html>这个根标签。

9、:not():target:lang()

  • 伪元素选择器
    1、
    ::first-letter
    ::first-line

2、
::before{content:"before";}
::after{content:"after";}

3、::selection应用于被用户选中的内容

  • 组合选择器
    有后代选择器、子选择器、和兄弟选择器。
<div class="main">
   <h2>标题一</h2>
    <div>
        <h2>标题二</h2>
        <p>段落一</p>
         <p>段落二</p>
     </div>
</div>

.main h2{color:red;}  //选中标题一二,是后代选择器
.main>h2{color:red;}  //选中标题一,是子选择器
h2+p{color:red;}  //选中段落一,是兄弟选择器
h2~p{color:red;}  //选中段落一二,是兄弟选择器

02.选择器优先级

  • 行内样式:a
  • ID选择器的数量:b
  • 类、伪类、属性选择器的数量:c
  • 标签选择器和伪元素选择器的数量:d

a,b,c,d分别给1000,100,10,1的级别值

所以选择器的最终值value=ax1000+bx100+cx10+dx1

举个栗子

| 选择器 | a | b | c | d | value |
| -----|:----:| :----:|:----:|: ----:|
| h1 | 0 | 0 | 0 | 1 | 1 |
| p>em | 0 | 0| 0 | 2| 2 |
| style="" | 1 | 0 | 0 | 0 | 1000 |
| .nav p | 0 | 0 | 1 | 1 | 11 |
| div #nav | 0 | 1 | 0 | 1| 101 |
| a:link | 0 | 0 | 1 | 1 | 11 |

样式根据选择器优先级别呈现,优先级别高的会覆盖优先级别低的,同级别的按照css书写的顺序,先写的会被后写的覆盖。

而样式里的属性,不同的属性会合并,同样的属性会根据优先级规则以及书写规则进行覆盖。

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

推荐阅读更多精彩内容

  • 基本选择器 *{} 通配符选择器,适用任何元素h1 标签选择器,选择h1标签内元素....
    字母31阅读 624评论 0 0
  • 选择器 元素选择符 关系选择符 属性选择符 伪类选择符 伪对象选择符 一、元素选择符 通配选择符 (*):选择所有...
    云外之境阅读 1,860评论 0 0
  • 插入样式的三种方法 内联样式表(行内) 内部样式表(style中) 外部样式表创建一个外部样式表在head中使用l...
    Zd_silent阅读 254评论 0 0
  • CSS选择器结构逻辑图 接下来按照结构逻辑图具体讲解各个选择器的作用及用法; 基本选择器 基本选择器主要有以下5类...
    FoolishFlyFox阅读 564评论 0 8
  • 一、基本选择器 1.*通用元素选择器,匹配任何元素 2.E标签选择器,匹配所有使用E标签的元素 3..infocl...
    ningluo阅读 179评论 0 0