2010-07-08 74 views
2

这总是让我失望。为什么这样的列表?如果您将边距和填充设置为0,则您会希望它在通常位于文本左边的左侧对齐,但不会。这就是列表项标签内的文本开始的地方,然后它会将项目符号和/或数字渲染到左边,重叠的边框等等。为什么他们还没有解决这个问题呢?谁在正确的心态决定成为名单的行为?您甚至无法为左侧指定精确的填充或边距,以使数字与正常文本保持一致,因为当数量达到更高级别时它不会自动向右移动(例如9 - > 10,现在是2位数字,并且占用更多的空间在左边)。为什么列表在包含元素之外开始?

反正,一个问题:有没有简单的方法(不使用JavaScript等)来解决这个问题,最好在CSS?我想让左侧的数字仍然与右侧对齐,但仍然将整个列表与文本左侧对齐。

lists http://img338.imageshack.us/img338/8957/lists.jpg

我知道你可以做到这一点使用表格,但是这不是一个真正的有序列表,现在是什么呢?

编辑:请注意list-style-position属性如何使第十个元素将文本向右推,使其不均匀。我想移动右上方的深蓝色框,以便深蓝色的左边缘与其周围的文字对齐,但我不能简单地设置填充值,因为它需要移动的量取决于数字项目。

list-style-position http://img707.imageshack.us/img707/9277/liststyleposition.jpg

+1

该做法的“为什么”与挂标点有关,您可以在这里阅读更多关于它的内容:http://www.markboulton.co.uk/journal/comments/five-simple-steps-to-better-印刷术 - 第2部分 – 2010-07-08 08:05:11

回答

0

至于提到的其他海报,默认职位是outside

由于不一致性和错误,样式列表很难处理跨浏览器。我建议使用JS或服务器端脚本来生成一个包含数字和样式的span元素(使用循环和whatnot)。

很确定,不可能将跨浏览器的风格考虑进IE浏览器的可怕列表中,将错误记录在内。

相关问题