使用margin设置span之间的距离

19

这里有两个span标签(在实际情况中可能有很多),它们位于网页上。我想设置它们之间的距离。我想使用margin-bottom属性来实现,但我发现使用它并没有任何效果。这两个span仍然保持在之前的位置,这是错误的。

这是我的代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    <title></title>
    <style type="text/css">
        .position, .name{
            overflow: hidden;
        }

        .position{
            margin-bottom: 40px;
        }
    </style>
</head>
<body>
    <span class="position">Designer</span><br/>
    <span class="name">John Smith</span>
</body>
</html>
2个回答

46

span是内联元素,而不是块级元素,并且它们不会考虑(垂直)margin。您可以使用填充或使显示为内联块级元素,然后使用边距。后者现在在大多数相对较新的浏览器中得到支持。


1
当你说span不遵守margin时,我只在某种程度上同意你。它确实遵守margin,但只有左右。不包括上下。 - Devner
1
是的,没错,CSS2.1 规定内联元素要遵守水平外边距。但是这里的问题在于垂直对齐,所以外边距是不起作用的。 - Pascal
我现在很匆忙,但是span上的padding-top对我没有起作用。结果我最终使用了一个div。哎。 - PJ Brunet
它不能完全遵循水平边距。自动选项不起作用。 - Lior

0

我认为你要找的是行高(line-height)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接