html - 应用错误的CSS顺序

标签 html css

HTML:

<div id="outer">
   <div id="inner"></div>
   <div id="..."></div>
</div>

CSS:

#outer div {
   margin: 0 auto;
}

#inner {
   margin-top: 10px;
}

我的问题是内部 div 样式。似乎 margin: 0 auto 总是比 margin-top 更重要。当我将 #outer div {...} 放在 #inner {...}

下时也是一样的

我想知道如何在不使用 important 的情况下解决这个问题。有什么想法吗?

最佳答案

这不是错误。 #outer div 是一个更多的 specific selector#inner。您可以将 CSS 特异性视为基于点的系统。在这种情况下,您的两个规则中的每一个都会因引用 ID 而获得 10 分。第一条规则(包括 div 元素)获得额外的 1 分。这使得 #outer div 有 11 个点,而 #inner 只剩下 10 个点。这意味着 #outer div 规则应用于元素。

#outer #inner {
   margin-top: 10px;
}

上述规则将有 20 个点并应用于元素。

关于html - 应用错误的CSS顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17962652/

相关文章:

html - 如何使输入字段显示在中心?文本对齐 : center; does not work

html - 移动触摸设备(iPhone、Android、Windows)上的悬停效果

jquery - 如何在 iframe 中设置 base64 pdf 的文件名?

php - 选择文本框时如何更改div的css属性

html - 我怎样才能拥有没有来自父 div 的背景图像的子 div

javascript - 使用 CSS 在文本上应用图像 mask

html - iOS 中的 Jquery Mobile 滚动和标题问题

javascript - 可点击的 fa-heart-o Font Awesome 不起作用

css - 如何让下拉菜单固定在同一位置

html - HTML 表格中的列宽