使用CSS,如何设计通用的全局风格?

时间:2011-04-12 17:43:56

标签: css

更新:此问题与全局样式有关。因此,诸如#some-id .score之类的解决方案不是解决方案。

起初,我的造型为

.score { font-size: 32px; color: #777 }

“得分”可以发生在任何地方,一种全球风格的东西。但由于其他风格实际上可能有:

#summary-panel { font-size: 13px }

id的那个将覆盖只有一个类的人(这篇文章中的第一个CSS规则)。 (因此,如果分数显示在summary-panel内,则font-size将被覆盖为13px,但score样式应该是全局的,需要32px风格。)所以我很想使用

.score { font-size: 32px !important; color: #777 !important }

因为!important可以作为“第二级”覆盖一切普通的,并充当全局风格。

这是一种好方法还是更好的方式?一个问题是,如果有时我们可能会遇到IE 7(或IE 6)的CSS问题,我们需要一个单独的样式表,例如ie.css,并且在那里,可能还有

#summary-panel { font-size: 12px !important }

所以在这种情况下,!important将被覆盖,因为拥有id的人将总是胜过类。那么有更好的方法吗?

3 个答案:

答案 0 :(得分:1)

也许这个?

#summary-panel.score { font-size: 32px; }

我想我不确定你要添加多少样式,或者如果问题是如何在不添加任何新样式的情况下执行此操作,在这种情况下我会说没有更好的方法。

答案 1 :(得分:1)

这是您使用span

的地方

例如标记:

<div id="sometext">
   <p>Lorem ipsum <span class="score">test</span> dolor sit amet</p>
</div>

CSS:

div#sometext {
    font-size: 12px;
    color: yellow;
}

span.score {
    font-size: 42px;
    color: green;
}

答案 2 :(得分:-1)

  

这个问题是关于全球风格的。   所以解决方案如#some-id .score   不是解决方案

[...]

  

.score 不是解决方案那么有更好的方法吗?

没有答案,你在第一个答案中得到的所有评论都是有效和有礼貌的,但我会告诉你作为用户,你不应该使用!important,除非在紧急情况下覆盖外部代码是你的控制,!important是用户风格

CSS 是一种思维方式,建议,您的请求(有请;),浏览器如何显示您的样式 - 在您似乎在心态之间挣扎的那一刻

逻辑程序员方需要“全局”风格,我相信大多数编程语言都有“全局”? CSS不是一种编程语言,它是一种标记语言。

无论如何,最近3到4年来,CSS'ers被鼓励“分类一切”YUI和Blueprint以及其他框架会让我们这样做..但这意味着你不应该使用ID,因为你正确地指出他们覆盖..他们是CSS Specificity Wars中的终极..但作为一个有效的CSS编码器你需要使用ID - 这是最好的做法不是吗? - 所以,如果你确实需要混合它们,那么你应该对你的ID选择器进行分组,并在必要时按照建议的方式对类选择器进行分组

这里确实没有答案(除非你通过ID和继承传递它,除非没有全局样式这样的东西,这是一个编码偏好而不是正确/错误的答案