css - 为什么我的 CSS 声明被忽略了?

标签 css twitter-bootstrap-3

我正在尝试为小屏幕覆盖 Bootstrap 的填充,因为它为我想要实现的目标创造了太多空间。 Chrome 的 Inspector 向我展示了这个:

.col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-xs-1, .col-xs-10, .col-xs-11, .col-xs-12, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9 {
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
}

(来自 bootstrap.css:1607)。

如果我没记错的话,更细粒度的声明会覆盖一般的声明,所以我想我将为 div .col* 做一个声明(嵌入在小屏幕的媒体查询中):

@media screen and (max-width: 600px) {
    div .col-lg-1, div .col-lg-10, div .col-lg-11, div .col-lg-12, div .col-lg-2, div .col-lg-3, div .col-lg-4, div .col-lg-5, div .col-lg-6, div .col-lg-7, div .col-lg-8, div .col-lg-9, div .col-md-1, div .col-md-10, div .col-md-11, div .col-md-12, div .col-md-2, div .col-md-3, div .col-md-4, div .col-md-5, div .col-md-6, div .col-md-7, div .col-md-8, div .col-md-9, div .col-sm-1, div .col-sm-10, div .col-sm-11, div .col-sm-12, div .col-sm-2, div .col-sm-3, div .col-sm-4, div .col-sm-5, div .col-sm-6, div .col-sm-7, div .col-sm-8, div .col-sm-9, div .col-xs-1, div .col-xs-10, div .col-xs-11, div .col-xs-12, div .col-xs-2, div .col-xs-3, div .col-xs-4, div .col-xs-5, div .col-xs-6, div .col-xs-7, div .col-xs-8, div .col-xs-9  {padding-left: 5px; padding-right: 5px;}
}

head 首先加载 Bootstrap.min.css,然后是我的 .css 文件。如果我用 Inspector 查看 div,“Styles”-Tab 仍然显示正在应用的 Bootstrap 声明,而不是我的。我做错了什么?

更新:根据评论的建议,我添加了 !important - 没有帮助。我验证了 .css 文件已加载,并在 Inspector 的 sources-Tab 中检查了该文件是否处于事件状态。所以我validated my CSS结果是一些可怜的疲惫的开发人员(不能是我?!)用 // 而不是 /* 写了注释,这导致了 PARSER 错误!

最佳答案

我将稍微扩展一下我在评论中所说的内容。

它应该可以正常工作,我复制并粘贴了您的代码来测试它,它确实有效,也许您的 CSS 链接有问题?

最重要的是,虽然更具体将允许您覆盖 CSS,但只要您具有同等数量的具体性,它仍然有效。

body {
  background: blue;
}

body {
  background: red;
}

/* background is red */

覆盖 Bootstrap 的东西时同样适用,只要确保你有同等数量的特异性并且你是黄金。

为了让您的生活更轻松,您还可以使选择器更短。

div[class^='col'] {
  padding-left: 0;
  padding-right: 0;
}

这使用属性选择器,因此所有以 col 属性开头的 div。如果您只使用 =,它将只适用于精确匹配,^= 表示所有以它开头的匹配。

关于css - 为什么我的 CSS 声明被忽略了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46122055/

相关文章:

html - 具有许多嵌套元素的水平居中 Bootstrap3 row-fluid 容器

javascript - jquery水流过管道效果

css - Foundation 5 水平选项卡未正确显示缺少的 css

javascript - 如何将其转换为样式组件以及如何嵌套类

css - 我应该使用带有字体的 webpack 吗?

html - 响应式导航菜单 Bootstrap

html - 如何使我的网页背景封面固定为 css 中的全尺寸页面?

css - 选择的选项颜色 mozilla

javascript - 错误 : Object doesn't support property or method 'datetimepicker' .。似乎无法创建日期选择器

html - 垂直单选按钮标签与首选之间的宽间距