代码之家  ›  专栏  ›  技术社区  ›  Ozzy

XHTML换行符空间问题

  •  2
  • Ozzy  · 技术社区  · 14 年前

    基本上我有一个ul列表

    <ul>
        <li style="background-image:url(images/thumbs/spaceinvader.jpg);"><a href="#"></a></li>
        <li style="background-image:url(images/thumbs/spaceinvader.jpg);"><a href="#"></a></li>
        <li style="background-image:url(images/thumbs/spaceinvader.jpg);"><a href="#"></a></li>
        <li style="background-image:url(images/thumbs/spaceinvader.jpg);"><a href="#"></a></li>
        <li style="background-image:url(images/thumbs/spaceinvader.jpg);"><a href="#"></a></li>
        <li style="background-image:url(images/thumbs/spaceinvader.jpg);"><a href="#"></a></li>
        <li style="background-image:url(images/thumbs/spaceinvader.jpg);"><a href="#"></a></li>
        <li style="background-image:url(images/thumbs/spaceinvader.jpg);"><a href="#"></a></li>
    </ul>
    

    现在列表的样式是:

    li {
        display:inline-block;
        margin:5px 0 0 8px;
        width:73px;
        overflow:hidden;
    }
    
    
    li a {
        display:block;
        background:url(../images/gtborder.png);
        width:73px;
        height:55px;
    }
    li:hover {
        background-position:0px -55px;
    }
    

    好的,现在,每个列表之间的间隔应该正好是8px,但是当我在浏览器中查看它时。。。然后是8像素的mroe。这是因为新线。

    如果我把所有的li标签都放在一条线上,那没关系,但我真的不想这么做。 有没有办法让我的html保持原样,只需编辑css,这样这个空间就不存在了?

    2 回复  |  直到 14 年前
        1
  •  1
  •   aefxx    14 年前

    好吧,既然你将列表项设置为 inline-block 标记中这些项之间的空白(即缩进)在这里造成了问题。因此,两个列表项被空格和每个列表项左侧的边距隔开。

    解决方案:尝试浮动列表项或去掉列表标记之间的空白。

    祝你好运。

        2
  •  1
  •   Gregg B    14 年前

    知道了

    每个li标记之间都有一个空格-我删除了它:

    http://jsfiddle.net/j5yDd/1/

    原始答案:

    你也有一个5倍的上边距,所以空间将是13,你需要删除5倍的上边距。

    呃。你确定这是准确的css-如写你有一个5px的上边距和一个8的左边距。我根本看不到底边空白。

    http://jsfiddle.net/j5yDd/