这是一个有点开放式的问题,但我真的很想了解这个问题,所以我不在乎。
我有一个包含两个元素的“表格”(带有跨度的 CSS)。左列始终有一个 20x20 像素的图标。第二列有与图标关联的单行文本。
我已经尝试了各种我能想出的想法,以使它在 IE6-8、Firefox 3.5 和 Google Chrome 中看起来完全一样,但所有想法都导致文本最多相差一两个像素。
我正在寻找一种万无一失的非<table>
方法来使该列表在所有浏览器中看起来都完全相同。我的意思是每一个像素。
这是一个有点开放式的问题,但我真的很想了解这个问题,所以我不在乎。
我有一个包含两个元素的“表格”(带有跨度的 CSS)。左列始终有一个 20x20 像素的图标。第二列有与图标关联的单行文本。
我已经尝试了各种我能想出的想法,以使它在 IE6-8、Firefox 3.5 和 Google Chrome 中看起来完全一样,但所有想法都导致文本最多相差一两个像素。
我正在寻找一种万无一失的非<table>
方法来使该列表在所有浏览器中看起来都完全相同。我的意思是每一个像素。
你正在追逐一个移动的目标。有这么多的浏览器和这么多的版本,很可能永远不会有办法让它变得完美。然后,即使您确实接近完美,任何浏览器的下一个版本也可能再次破坏它。
Pixel perfect 不存在——您根本无法控制浏览器的范围,而且您尝试这样做也无利可图。收益递减,你的名字是IE6。
Fwiw,听起来你可能会做得更好,只需将<ul>
list-style-type 设置为 none 的列表 ( ) 并使用背景图像显示 20x20 图标。
这是我的问题:如果它真的是一张桌子,为什么不使用<table>
?避免将表格用于一般页面布局是一回事,但表格标签仍然完全适用于显示表格。
如果这对您不起作用,请考虑进行<ul>
修改或类似操作。但是,您不太可能在所有浏览器中都获得真正完美的像素。
是的...
渲染图像;)
(对不起,但如果你想要它真的“完美像素”,那么这很可能是最简单的方法)
我为这个巨大的编辑感到抱歉,我没有正确阅读这个问题。正如一些人已经说过的那样,在网站上实现像素完美是非常困难的,因为每个浏览器都会以不同的方式呈现页面。使用 css,您可以使用基本上任何东西的绝对定位和相对定位,但在跨浏览器兼容性方面它远非完美。