无序列表“符号”的对齐

时间:2011-09-12 21:50:25

标签: css html-lists

您可以在此处查看问题:http://jsfiddle.net/gkJAd/4/

我有一个无序列表,其中每个 li 的最大高度为2.25em(我希望它最多为2行)。列表类型应该在外部正常显示,在第一行对齐。我尝试了一些关于它的问题:

  • 如果我将隐藏,高度等代码添加到 li 而不是 a ,则光盘会消失;
  • 如果我将 a 更改为display: block而不是display: inline-block,则会在Firefox上正确显示,但在其他任何地方都会错误显示;
  • 如果我将 a 更改为display: inline,则会将光盘放在正确的位置,但是,由于它不再是块,因此忽略高度。有人有解决方案吗?

溶胶

3 个答案:

答案 0 :(得分:2)

我认为这就是你想要的。

基本上,我浮动然后清除li s。

然后我给了ul li a一个display:inline-block和一个height,并确保使用vertical-align:top;

ul{
    margin: 5px 10px 5px 20px; 
    background:green; 
    height:250px;
}

ul li{
    list-style-type:disc;
    float:left;
    clear:both;
} 

ul li a{
    background:green; 
    line-height:1.25em; 
    overflow: hidden;
    display:inline-block;
    height:2.25em;
    vertical-align:top;
}

示例: http://jsfiddle.net/jasongennaro/gkJAd/6/

经过测试并可在Chrome和FF中使用

答案 1 :(得分:2)

您需要做的只是将vertical-align: top添加到ul li a选择器代码中。

更新了JSFiddle。在FF,Chrome和IE8 / 9中工作。

答案 2 :(得分:0)

我玩了一下这个,但它基本上归结为overflow: hidden也会隐藏列表标记。以下是我提出的问题:http://jsfiddle.net/N3JGg/

基本上使用list-item的显示类型,然后不是在外面声明光盘,而是将它们拉入内部的盒子中,这样溢出就不会隐藏它们。它没有给你以前那么好的线条,但你现在已经显示了标记。