我有一个CSS样式表,用于指定每个段落类的字体:
p.body {
font-family: Tahoma;
/* (more properties omitted for brevity) */
}
p.bodytextcenter {
font-family: Tahoma;
}
p.bodytextright {
font-family: Tahoma;
}
(数十种样式等)。
现在,对于某些语言,我必须使用其他字体。我可以通过创建一个新的选择器p.body[lang="de"]
等来做到这一点,但是我必须为列表中的每种样式都这样做。
是否可以指定p[lang="de"]
并将其应用于具有该语言属性的所有段落?还是这需要我从每个段落类中删除font-family
属性?
答案 0 :(得分:0)
p [lang =“ de”]这可能有效,但如果不能,则可以在字体系列样式中添加!important
答案 1 :(得分:0)
尝试一下:
html body p[lang=de]
...或类似内容,具体取决于您的实际HTML。您只需要添加更多级别的特异性即可。
如果没有看到您的HTML,就无法正确回答;但是我会猜测CSS的结构不正确,这就是让您感到困难的原因。进行上述操作有点琐,但在语法上是合法的。
剩下的事情现在可能没有太大帮助,但是对于下一个项目要牢记。...
最好根据语义而不是特定效果来设计页面结构。导航,文章,旁边,侧边栏;而不是左,右,粗体等。假设您在右侧有一个侧边栏。您可以将其命名为“ sidebar”或“ textright”。但是在路上,您决定将其放在左侧...。或者在移动设备上做一些完全不同的事情。现在,“文字版权”只是贴错了标签。
即使与当前的操作方式保持一致,也应注意,一个元素可以具有多个类。因此,与其拥有:
<p class="body">...</p>
<p class="bodytextcenter">...</p>
<p class="bodytextright">...</p>
您可能会遇到类似的事情:
<p class="body">...</p>
<p class="body textcenter">...</p>
<p class="body textright">...</p>
因此,您可以在p.body
上设置字体,并在p.textcenter
和p.textright
上设置布局
对于当前项目来说,这是一个不完善的答案,因为它需要更改许多现有文本,但这可以追溯到最初的问题-CSS的结构不良。 (同样,在没有看到HTML的情况下,我主要是在这里猜测...。)