CSS中的选择器

1.class选择器和id选择器的使用场景

class选择器为类选择器,同一个标签可以有多个类且一个类可以多次被调用,多用于多个标签样式相同或相似的时候。

ID选择器:同一个标签仅能有一个id选择器,且同一个id选择器仅能使用一次,优先级要高于class选择器。

2.常见的选择器有哪几种?

  • id选择器,以#命名,例如 #header ,表示名为header的id选择器。

  • 类选择器,以.命名,例如.header,表示名为header的类选择器。

  • 标签选择器,以html标签命名,例如p{},表示p标签的样式。

  • 通用选择器,以*{},表示html所有的元素样式。

  • 组合选择器:

组合选择器
  • 伪类选择器,常见a:hover。


    常见伪类元素
伪类选择器
  • 属性选择器,常见形式E[attr],匹配属性为attr的所有E元素,权值暂为c.
属性选择器

*伪元素选择器:

伪元素

3.选择器的优先级及复杂情况下优先级计算。

!important优先级最高,会覆盖掉所有选择器。

内联式次之,权值暂设为a。

id选择器次之,权值暂设为b。

类选择器,伪类选择器,属性选择器再次之,权值暂设为c。

标签选择器,伪元素选择器最次,权值暂设为d。

  • 复杂情况下,可以通过计算其权值a+b+c+d,同位才可数学相加,比较权值大小来确定优先级。

举个例子:

#header p>.abc和 #header .abc.def

都有一个id选择器,b=1,前者有一个类选择器,c=1,后者有两个类选择器,c=2,所有,#header .abc.def的优先级高于前者。

权值相同的,后面的选择器会覆盖前面选择器的效果。

4.a:link, a:hover, a:active, a:visited 的顺序是怎样的? 为什么?

顺序是:

a:link
a:visited
a:hover
a:active
  • 为什么?

    因为这四个选择器,都有一个伪类选择器,一个标签选择器,所以,权值相同,在后面的会覆盖前面的效果。

未点击状态下,显示的是a:link效果,点击过后,页面会展示a:visited的效果,点击过后,再划过会显示a:hover效果,无论什么时候点击状态下都会显示为a:active效果。这是我们期望的发生的。

假如a:visited放在a:hover之后,那么,只要点击过这个链接,鼠标滑过不会有效果,点击状态下,:active会有相应的效果。这是因为a:visited的会覆盖掉滑过的效果。假如,a:visited放在最后,那么无论你滑过鼠标,还是点击他,只会有visited的效果。因为后面的效果会覆盖前面的效果。

再假如

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

效果就是你只要鼠标划上去,无论你点击与否,都只有:hover的效果。

5.以下选择器上面意思?

选择器
\#header {}   // 名字为header的id选择器
\.header {}   //名字为header的类选择器
\.header .logo {} //header选择器下的所有.logo元素
\.header.mobile {} //既有header又有mobile的元素
\.header p, .header h3 {} //header选择器下的p标签的元素,和 header下的h3标签的元素
\#header .nav>li {} //名为header的id选择器下的 nav 类里面的第一代li元素。
\#header a:hover {} //名为header的id选择器下的a:hover元素
\#header .logo~p {} //名为header的id选择器下的 .logo选择器之后的相邻p元素,且不论是不是直接相邻。
\#header input[type="text"] //名为header的id选择器下的所有input且input的type属性为text的元素。

6.我所知道的伪类选择器。

  • a:hover 鼠标滑过时的a标签样式
  • a:visited 鼠标点击过后的a标签样式
  • a:link所有未被点击的a连接。
  • a:active 点击状态下a标签的样式。
  • E:first-child 父元素中的第一个是E选择器的元素
  • E:last-child 父元素的最后一个是E选择器的元素
  • E:nth-last-child(n) 父元素的倒数第n个是且只能是E选择器的元素。
  • E:nth-child(n) 父元素的第n个是且只能是E选择器的元素。
  • E:first-of-type 父元素下的使用同种标签第一个有E选择器的元素。
  • E:nth-last-of-type(n) 父元素下使用同种标签的有E选择器的倒数第n个元素

7.div:first-child、div:first-of-type、div :first-child和div :first-of-type的作用和区别 (注意空格的作用)。

  • div:first-child //父容器下第一个且只能是DIV的元素
  • div:first-of-type //父容器下的第一个DIV元素。
  • div :first-child //div下的第一个子元素。
  • div :first-of-type //div下的同种标签的第一个元素。

8.运行代码解释原因

demo
  • 原因分析:
    .item1:first-child{} 选中父元素下第一个元素是.item选择器的元素。所以选择到了<p>标签的元素。

    .item:first-of-type{} 选中父元素下同种标签中第一个使用.item选择器的元素,所以选择到了<p>和第一个<h3>标签。

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

推荐阅读更多精彩内容

  • 1.class 和 id 的使用场景? 类选择器允许以一种独立于文档元素的方式来指定样式。该选择器可以单独使用,也...
    草鞋弟阅读 2,417评论 0 1
  • 1.class 和 id 的使用场景? class:类选择器,一个标签可以有多个类且同一个类可以用到不同的标签上,...
    饥人谷_兔子君阅读 1,192评论 0 0
  • 选择器 元素选择符 关系选择符 属性选择符 伪类选择符 伪对象选择符 一、元素选择符 通配选择符 (*):选择所有...
    云外之境阅读 1,860评论 0 0
  • 基本选择器 *{} 通配符选择器,适用任何元素h1 标签选择器,选择h1标签内元素....
    字母31阅读 627评论 0 0
  • 1 .class 和 id 的使用场景? .class,类选择器。类选择器可以定义多个元素。当你想定义一组元素以相...
    饥人谷_邵征鹏阅读 366评论 0 0