0

这是一个有点开放式的问题,但我真的很想了解这个问题,所以我不在乎。

我有一个包含两个元素的“表格”(带有跨度的 CSS)。左列始终有一个 20x20 像素的图标。第二列有与图标关联的单行文本。

我已经尝试了各种我能想出的想法,以使它在 IE6-8、Firefox 3.5 和 Google Chrome 中看起来完全一样,但所有想法都导致文本最多相差一两个像素

我正在寻找一种万无一失的非<table>方法来使该列表在所有浏览器中看起来都完全相同。我的意思是每一个像素。

4

6 回答 6

2

你正在追逐一个移动的目标。有这么多的浏览器和这么多的版本,很可能永远不会有办法让它变得完美。然后,即使您确实接近完美,任何浏览器的下一个版本也可能再次破坏它。

于 2009-09-18T20:11:21.203 回答
2

Pixel perfect 不存在——您根本无法控制浏览器的范围,而且您尝试这样做也无利可图。收益递减,你的名字是IE6。

Fwiw,听起来你可能会做得更好,只需将<ul>list-style-type 设置为 none 的列表 ( ) 并使用背景图像显示 20x20 图标。

于 2009-09-18T20:18:51.733 回答
2

这是我的问题:如果它真的是一张桌子,为什么不使用<table>?避免将表格用于一般页面布局是一回事,但表格标签仍然完全适用于显示表格。

如果这对您不起作用,请考虑进行<ul>修改或类似操作。但是,您不太可能在所有浏览器中都获得真正完美的像素。

于 2009-09-18T20:19:13.277 回答
0

是的...

渲染图像;)

(对不起,但如果你想要它真的“完美像素”,那么这很可能是最简单的方法)

于 2009-09-18T20:06:04.763 回答
0

我同意Tonyanakata的观点。然而,通常最好的结果来自这样简单的事情:

<span><img src="images/icon.gif" style="vertical-align:text-bottom;" />Some text</span>

至少在 webkit、ie8 和 firefox 中看起来完全一样。(我也相信ie7,但我没有测试)

于 2009-09-18T20:21:01.883 回答
0

我为这个巨大的编辑感到抱歉,我没有正确阅读这个问题。正如一些人已经说过的那样,在网站上实现像素完美是非常困难的,因为每个浏览器都会以不同的方式呈现页面。使用 css,您可以使用基本上任何东西的绝对定位和相对定位,但在跨浏览器兼容性方面它远非完美。

于 2009-09-18T20:22:04.767 回答