我正在尝试控制易趣列表中的字体大小,使其在Firefox 和 Internet Explorer 8上看起来相同(或多或少)。
为简化起见,我只为整个正文指定一个字体大小:
<body style="font-family: Verdana; font-size: 12px;">
...
</body>
然而,在本地(在我的电脑上)字体看起来像我希望它看起来像:
Firefox 3.6:
Internet Explorer 8:
在eBay上,字体看起来要大得多(不我想要的):
eBay上的Firefox 3.6:
eBay上的Internet Explorer 8:
我当然尝试了不同的字体大小单位规范(em
,%
等),但差异仍然存在。
为什么会发生这种情况?如何解决这个问题(无需借助发布文字图片......)。
据我所知,eBay的CSS和我的HTML之间可能存在一些冲突(我不使用任何CSS,我只使用内联样式!),但我不知道如何告诉eBay 不覆盖我的风格。
知道如何克服这个问题吗?
答案 0 :(得分:5)
可能是一个肮脏的技巧,但您是否尝试使用!important
声明覆盖CSS?
像这样:
foo: bar !important;
我建议你在Firefox上打开Firebug(或Chrome浏览器上的Chrome浏览器),看看哪些样式会覆盖你添加的样式。
要尝试的另一件事是将这些样式(整个style=
属性)添加到文本块本身。如果可行,那么您的代码就不够具体了。
您的问题似乎是选择器特异性。这就是:
如果我有适用于文档中所有元素的CSS:
body * {
foo: bar;
}
它将被更具体的选择器覆盖,如下所示:
body p {
foo: baz;
}
因为p
正在选择特定元素,而*
会广泛选择所有元素。
当您应用style=
属性时,就像这个<body style="...
一样,您正在使CSS非常不明确,就像第一块代码一样。
而是将style=
属性应用于HTML:
<body>
<p style="...">My content</p>
</body>
尝试尽可能具体,因为特定选择器会覆盖非特定选择器。
答案 1 :(得分:3)
上述答案都是错误的,或无用的。
您应该通过将整个拍卖代码包装在id元素中来使每个元素更具体,例如直接在 &LT;身体&gt; 标签,放
<div id="myauction">
在此处插入您的竞价代码。
</div><!-- END OF MYAUCTION -->
</body>
如果您发现某些元素仍无法正常工作,请将它们放入另一个id元素中,例如
<div id="column1">
<div class="itemdetails">
<h2>Item name</h2>
<p>Item description</p>
</div><!-- END OF ITEMDETAILS -->
</div><!-- END OF COLUMN1 -->
然后使用CSS之类的东西 #myauction#column1 .itemdetails h2 {color:black;等等...} #myauction#column1 .itemdetails p {font-family:Helvetica;等...}
这将使得h2和p标签比Ebay CSS对它们所做的更具体(可能)。
顺便说一句,Blender(上图)不知道他在说什么。糟糕的建议比没有建议更糟糕。