当前位置: 首页 > 面试题库 >

CSS特异性如何决定要应用的样式?

钱繁
2023-03-14
问题内容

CSS如何确定何时将一种样式应用于另一种样式?

我已经遍历了W3CSS3选择器文档几次,这帮助我了解了如何在jQuery中更好地使用CSS选择器,但是并没有真正帮助我理解何时将一个CSS规则应用于另一个CSS规则。

我有以下HTML:

<div class='item'>
    <a>Link 1</a>
    <a class='special'>Link 2</a>
</div>

我有以下CSS:

.item a {
    text-decoration: none;
    color: black;
    font-weight: bold;
    font-size: 1em;
}

.special {
    text-decoration: underline;
    color: red;
    font-weight: normal;
    font-size: 2em;
}

鉴于以上所述,链接1和链接2的样式将由.item aCSS 确定。为什么与.specialLink 2 关联的样式没有优先级?

显然,我可以这样解决:

.special {
    text-decoration: underline !important;
    color: red !important;
    font-weight: normal !important;
    font-size: 1em !important;
}

但是,由于缺乏了解,我觉得这是我必须要解决的问题。


问题答案:

它是基于IDsclassestagsIDs具有最高的特异性,classes然后是tags,因此:

.item a     == 0 1 1      0 (id) 1 (class=item) 1 (tag=a)
.special    == 0 1 0
#foo        == 1 0 0
#foo .bar a == 1 1 1
#foo #bar   == 2 0 0

:)如果是平局,则以文件中的最后一个为准。注意1 0 0节拍0 1000 1000

如果要.special申请,请使其更加具体:.item a.special



 类似资料:
  • 问题内容: 它指出,特异性是CSS的得分系统。它告诉我们元素值1分,类值10分,ID值100分。最重要的是,这些点是合计的,总数就是选择者的特异性。 例如: 身体 = 1点 身体.wrapper = 11点 身体.wrapper#容器 = 111点 因此,使用这些要点,我期望以下CSS和HTML导致文本为蓝色: 为什么当15个班级等于150分而1个ID等于100分时,文本变成红色? 显然,积分不只

  • 问题内容: 查看CSS特异性规范,没有提到该规则值得多少“要点” 。 一个人何时超越另一个人?如果一个在另一个之后被声明会怎样?哪个规则更重要?有某种模式吗? 从它的外观看,适用于具有更多特异性点的对象。但是,如果我声明一个bazillion id与类堆叠在一起并深深嵌套的话,会发生什么?它会否覆盖另一个未指定的标有的规则中设置的规则? 问题答案: CSS中的特异性仅涉及选择器,而不涉及它们的关联

  • 我发现了这种封装。“无”使css样式显示暗绿色背景颜色,并且使用角度默认视图封装(viewenculation.Emulated),浏览器显示浅绿色背景颜色。 组件代码 代码 和风格 我希望收到一个答案,为什么它的工作方式不同

  • 问题内容: Bootstrap 3在响应实用程序中具有不错的CSS类,使我可以根据屏幕分辨率隐藏或显示一些块 我在CSS文件中有一些要根据屏幕分辨率应用或不应用的样式规则。 我该怎么做? 我打算将所有CSS文件最小化到生产部署中的一个,但是如果没有其他解决方案,而没有针对不同屏幕分辨率的单独CSS文件,则可以避免这种情况。 问题答案: 使用查询。他们服务于这个确切的目的。以下是它们如何工作的示例:

  • 问题内容: 我已经做了一些Google搜索,但到目前为止,我还没有找到任何能回答我有关CSS顺序或重要性的问题的信息。 例如,内联优先于外部。得到它了。在外部添加!important可以覆盖内联。而且,从我曾经教过的所有知识来看,较新的样式会覆盖较早的样式。所以: 将呈现14pt的字体大小。但这并非总是如此。有时我想定义如下样式: 然后在CSS中: 但这并不总是有效。在哪里可以看到重要性顺序,因为

  • 我正在尝试删除右边的最后一个边框,如下图所示。我该怎么处理这个? 我的代码: null null