CSS 不级联

标签 css twitter-bootstrap ruby-on-rails-3 css-cascade

这是带有行号的 usersettings.css.erb 的一部分

11    #userSettingMain .form-horizontal .controls {
12    
13      margin-left: 30px;
14    }
15    
16    #user_birthday_3i{
17    
18      margin-left: 0px;
19    }

但是,当我转到页面时,它会呈现第一条规则而不是最后一条规则,当我检查时

chrome inspect

html 是一个带有 .form-horizo​​ntal 的表单,它有一个 select_date 标签,用于选择用户生日的日期。 Rails 生成的 html 给出了日期 #user_birthday_3i

我错过了什么?

最佳答案

CSS 级联不是关于哪些规则先出现,而是关于 specificity . #userSettingMain .form-horizo​​ntal .controls 规则比 #user_birthday_3i 规则更具体,因为它有更多的选择器(包括对象树中的更多“深度”)因此它会覆盖它。

如果您真的希望第二个覆盖第一个,请将 !important 添加到 margin 定义的末尾:

#user_birthday_3i {
    margin-left: 0px !important;
}

关于CSS 不级联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13431760/

相关文章:

javascript - 通过 JQuery 添加 CSS 不适用于 IE

javascript - 每页记录数

jquery - 将加载的 CSS 应用于动态创建的 HTML

html - 使面板可滚动的困难

javascript - Bootstrap 跳转到折叠面板内的链接

ruby-on-rails - rails 3输出冲洗

html - 阻止单词被拆分

css - Bootstrap 4 位置固定宽度继承不起作用

ruby - 有没有办法从 ActiveRelation 对象中删除分页?

sql - 如何在 SQL 查询中获取 Paperclip 照片 url - Rails 3.1,Paperclip