在媒体查询文件中使用!important语句?

时间:2013-01-22 17:46:21

标签: css css3 media-queries

我第一次在我的投资组合网站上使用媒体查询。一世 我需要改变时必须使用**!important**语句,比方说, 用于肖像版本和景观的徽标填充 版。我有一个链接到我的媒体查询的外部样式表 样式表和从我必须的主样式表覆盖样式 对我的媒体查询使用重要的,以便它能够收听它。

!important标签阻止我在样式表的下方重新设计其他设备样式,因为需要它们来设置我的网站的ipad版本。

似乎我可以将样式添加到像display:none这样的新查询中,但如果我需要添加padding-left:20px,我需要!important标记覆盖主样式表

你能帮忙吗?

2 个答案:

答案 0 :(得分:2)

正如之前的答案所说,除了在一些非常具体和有限的情况下,最好避免使用!important。

如果您发现使用它来覆盖样式,则可能是几个不同问题的症状。也许你在第一个规则中使用了像#header #logo这样的高特异性选择器,并尝试使用媒体查询块中的.logo等类来覆盖它。

另一个原因可能是长选择器,例如#header #header-inner .logo-wrap #logo,这也是一个非常糟糕的主意。哈利罗伯茨在http://csswizardry.com/2012/05/keep-your-css-selectors-short/

的更多内容

如果没有看到您的代码,很难知道,但一般情况下,尝试将选择器缩短并使用modular approach to CSS会有所帮助。

只需添加到chipcullen的使用时间列表中就可以了!重要的是:

  • 在HTML电子邮件中
  • 如果您需要帮助类来覆盖所有内容,例如.valid或.hidden
  • 覆盖使用它的浏览器默认样式表

正如打印系统中所述以及使用无法更改的第三方代码时所述。<​​/ p>

(我不同意它应该用于覆盖JavaScript注入的样式,因为有更好的方法通过操纵类名来实现相同的目的,从而避免问题.classList API使这很容易,并且有polyfill也可以。)

答案 1 :(得分:0)

正如第一位评论者所说,我们需要看一些代码。

总的来说,听起来你遇到了特殊问题。除了三种情况外,你真的不需要使用!important

  • 覆盖JavaScript应用的样式
  • 在打印样式表中
  • 更改从外部源加载的元素,但无法编辑原始样式

当谈到媒体查询和特殊性时,请记住顺序很重要。如果选择器具有相同的特异性水平,则最后一个获胜。通常,在使用媒体查询构建样式表时,一个好方法是:

  1. 适用于大多数情况的全球风格 - 从移动尺寸设备开始(即“先移动”)
  2. 后来的媒体查询大小越来越大 - 越来越大,并根据需要应用样式覆盖
相关问题