双元素“表”很好地对齐

时间:2009-09-18 20:02:38

标签: css list css-tables

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

我有一个双元素“表”(带有跨度的CSS)。左列总是有一个20x20像素的图标。第二列有一行与图标相关联的文本。

我已经完成了各种各样的想法,我可以在IE6-8,Firefox 3.5和谷歌浏览器中看到完全相同,但所有想法都会导致文本成为一个或最多两个像素。

我正在寻找一种傻瓜式的非<table>方法,使这个列表在所有浏览器中看起来完全一样。我的意思是每一个像素。

6 个答案:

答案 0 :(得分:2)

你正在追逐一个移动的目标。有这么多的broswers和许多版本,很可能永远不会成为一个完美的方式。然后,即使你确实接近完美,任何浏览器的下一个版本都可能会再次破坏它。

答案 1 :(得分:2)

像素完美不存在 - 你根本就没有对那里的浏览器范围进行那种控制,也没有尝试做到这一点有利可图。收益递减,你的名字是IE6。

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

答案 2 :(得分:2)

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

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

答案 3 :(得分:0)

...是

渲染图像;)

(对不起,如果你真的想要“pixle perfect”,那么这很可能是最简单的方法)

答案 4 :(得分:0)

我同意Tonyannakata。但是,通常最好的结果来自这样简单的事情:

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

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

答案 5 :(得分:0)

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