【CSS】ID选择器

微信订阅号:Rabbit_svip



在选择器这个知识点中,ID选择器和类选择器(class)是最常见的。但因为常见,所以也常常会忽略很多非主线的知识点。比如【一本正经】如何用CSS选择符(数字开头) 杀死队友


目录

  • ID选择器的完整性

  • 常规知识点简单总结




ID选择器的完整性

ID 选择器具有唯一性,所以在使用时和类选择器有所不同。

class用法

<div class="animal rabbit"></div>

<style>
  .animal {
    border: 2px solid salmon;
  }
  
  .rabbit {
    width: 100px;
    height: 100px;
    background-color: aquamarine;
  }
</style>

ID选择器并不能像上面的类选择器那样用。

不能使用 ID 词列表。不同于类选择器,ID 选择器不能结合使用,因为 ID 属性不允许有以空格分隔的词列表。
—— W3C

也就是说,下面的写法是无效的。

<div id="animal rabbit"></div>

<style>
/* 无效 */
#animal {
  border: 2px solid salmon;
}

/* 无效 */
#rabbit {
  width: 100px;
  height: 100px;
  background-color: aquamarine;
}
</style>

其实W3C上也没很直白的说明。

ID 选择器要求必须使用完整的 ID 属性值,所以在用CSS的ID选择器时,空格也需要写上。

但由于空格在CSS选择器中有特殊含义(后代选择符),所以如果要表示空格,需要对空格进行转义。

<div id="animal rabbit"></div>

<style>
#animal\20 rabbit {
  width: 100px;
  height: 100px;
  background-color: aquamarine;
  border: 2px solid salmon;
}
</style>

空格转义后变成:\20

⚠️注意:“\20”后面上需要跟上一个空格的。

当然,也可以用下面这种全称的方式。

#animal\0020rabbit {
  width: 100px;
  height: 100px;
  background-color: aquamarine;
  border: 2px solid salmon;
}

这时,“\0020” 的后面就不用跟上“空格”了。

这工作中也许会遇到使用上面这种写法的同事,得防着。

如果这HTML中使用了上面的ID写法,用不想这CSS中使用转义的写法,这时就可以使用“属性选择器”的方式去选择元素。

[id~=”animal”] {…}

[id~=”rabbit”] {…}




常规知识点简单总结

ID选择器具有唯一性,在一个HTML文档中不会同时出现id相同的属性值。

ID可以用于在文档中标识元素,但通常不用于添加样式。

Web设计圈中有一个趋势,尽量不在CSS中使用ID选择符。

在《CSS重构》这本书里面建议一般情况下class用来给CSS提供选择入口,id则为js提供选择入口。

尽量不要用js直接修改元素样式,而是通过js修改元素的class从而修改样式。这样能很好的划分样式与逻辑。

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

推荐阅读更多精彩内容

  • 1.CSS 元素选择器 最常见的 CSS 选择器是元素选择器。换句话说,文档的元素就是最基本的选择器。如果设置 H...
    饥人谷_小侯阅读 857评论 0 1
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 9,167评论 0 3
  • CSS的选择器有两种,一种是id选择器,一种是类选择器 如上图所示,p.green是只针对p元素设置才有效果,针对...
    吕航_muskmelon阅读 551评论 0 0
  • id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式。id 选择器以 "#" 来定义。在现代布局中,...
    青春前行阅读 208评论 0 0
  • CSS元素选择器 最常见的 CSS 选择器是元素选择器。换句话说,文档的元素就是最基本的选择器。 如果设置 HTM...
    LorenSLJ阅读 502评论 0 2