关于CSS优先级问题

之前遇到这种问题一直简单粗暴的使用 !import,今天在老大的指引下才发现这里面也大有文章,下面梳理一下我自己的理解。

首先,css优先级顺序:内联样式 > id选择器 > 类选择器 = 属性选择器 = 伪类 > 元素选择器 > 通用选择器(*) > 继承的样式;

然后具体先解释一下这些选择器都是什么鬼,当然css基础好的童鞋可以忽略这一段。

内联样式:<div style=“color:’red’;">内联样式</div>

Id选择器: <div id=“test">Id选择器</div>    #test {color:red;}

类选择器:<div class=“test">类选择器</div>    .test {color:red;}

属性选择器:<div content="属性选择器">属性选择器</div>   [content] {color:red;}

                      <h2 title="Hello world">Hello world</h2> [title] {color:red;}

                      <a href="[http://w3school.com.cn](http://w3school.com.cn)">W3School</a>   [href]{font-size:40px}

伪类:<p><b><a href="/index.html" target="_blank">这是一个链接。</a></b></p>

           <p><b>注释:</b>在 CSS 定义中,a:hover 必须位于 a:link 和 a:visited 之后,这样才能生效!</p>

           <p><b>注释:</b>在 CSS 定义中,a:active 必须位于 a:hover 之后,这样才能生效!</p>

           <style type="text/css">

                a:link {color: #FF0000}

                a:visited {color: #00FF00}

                a:hover {color: #FF00FF}

                a:active {color: #0000FF}

            </style>

 元素选择器:<h1>这是 heading 1</h1>

                     <h2>这是 heading 2</h2>

                      <p>这是一段普通的段落。</p>

                      html {color:black;}

                      p {color:blue;}

                      h2 {color:silver;}

 通用选择器:<div class=“test">通用选择器</div>    *.test {color:red;}

  然后我们来了解一下优先级的计算方法:

         a、用a表示选择器中ID选择器出现的次数

      b、用b表示类选择器,属性选择器和伪类选择器出现的总次数。

      c、用c表示标签选择器、伪元素选择器出现的总次数

      d、忽略通用选择器

      e、然后计算a*100+b*10+c的大小,这就是优先级了。

权重:内联样式1000》id选择器100》class选择器10》标签选择器1

总结:ID选择器「如:#header」,Class选择器「如:.foo」,属性选择器「如:[class]」,伪类「如::link」,标签选择器「如:h1」,伪元素「如::after」,选择器「*」

    最后我们再来了解一下为什么我常用的!important没有列入优先级中,因为官方认为!import和优先级没一点关系。

  不建议使用!import
  • Never 绝不要在全站使用!import。

  • Only 只在需要覆盖全站或外部 css(例如引用的 ExtJs 或者 YUI )的特定页面中使用 !important

  • Never 永远不要在你的插件中使用 !important

  • Always 要优先考虑使用样式规则的优先级来解决问题而不是 !important

选择元素时尽量不要多选,不要放宽选择器的范围。因为范围越小,越具有针对性,优先级越高。

  但是什么时候需要使用!import呢?

 使用!import的场合也是有的,但是是在没有别的解决方案的时候。

比如需要覆盖内联样式,因为内联样式的优先级最高,只能用!import去覆盖内联样式。

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

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,703评论 1 92
  • 概念 浏览器通过优先级来判断哪一些属性值与一个元素最为相关,从而在该元素上应用这些属性值。优先级基于由各种选择器组...
    hcxowe阅读 424评论 0 1
  • CSS 指层叠样式表(Cascading Style Sheets),是一种用来为结构化文档(如 HTML 文档或...
    神齐阅读 2,056评论 0 14
  • CSS的选择器是有权重的,当不同选择器的样式设置有冲突时,会采用权重高的选择器设置样式。权重(即优先级)的规则如下...
    Jasmine_dc8b阅读 2,657评论 0 1
  • 诗/雪伦 月亮吟诵星辰 黑夜是幕后的观者 树叶闪着银光 在风的牵引下 陶醉的舞蹈 自上个世纪以来 再也不曾嗅到你的...
    雪伦阅读 295评论 2 3