4

我有一个带有链接的 div。我用<br>标签将它们一个一个排列在一起,因为我不知道如何用 CSS 添加垂直间距。我尝试在 a 样式规则中添加底部边距和底部填充,但它似乎没有任何效果(为什么?)。我可以添加另一个<br>标签来进一步分隔它们,但我必须假设有一种更好的方法可以使用我无法弄清楚的 CSS 来做到这一点。

<!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>Untitled Document</title>
<style type="text/css">
html, body 
{
    height: 100%;
    margin: 0;
    padding: 0;
    font-weight:normal;
    font-size:12pt;
    font-family: Verdana, Arial, Helvetica, serif, sans-serif;
    background:lime;
}

#linksouter
{
    margin: 0;
    padding: 0;
    border-style:solid;
    border-width:0px;
    position:absolute;
    top: 0px;
    left: 0px;
    width: 80px;
    background: blue;
    text-align:left;
}
#linksinner
{
    margin: 80px 0 0 .5em;
    width:100%;
    background:fuchsia;
    display:inline;
    height:100%;
}
#linksinner a
{
    color:red;
    text-decoration: none;
    background:yellow;
}
</style>
</head>

<body>
<div id="linksouter">
    <div id="linksinner">
    <a href="#">1</a><br />
    <a href="#">1</a><br />
    <a href="#">1</a><br />
    <a href="#">1</a><br />
    <a href="#">1</a><br />
    </div>
</div>

</body>
</html>
4

4 回答 4

11

垂直边距和填充仅适用于块级元素,如divpa是一个内联元素,所以它不会工作。

为了做你想做的事,你需要在链接中添加以下样式:

display:block;

只有这样才能正确应用顶部和底部的边距和分页

编辑:如果你这样做,你也可以摆脱<br/>标签

于 2009-07-16T00:18:01.353 回答
1

要添加垂直间距,您可以这样做:

#linksinner
{
    line-height: 150%;
}

边距不会对<a>元素产生任何影响,因为它们是内联的。另一种解决方案是使它们:

display: block;

这意味着他们尊重你的利润,然后你就不需要你<br>的 s.

于 2009-07-16T00:17:18.327 回答
0

链接不能定义边距,因为默认情况下它们是“内联”元素。内联元素不能应用边距或宽度规则。要允许内联元素应用这些内容,您需要在规则中添加另一个属性。

尝试这个:

#linksinner a {
    display: inline-block;
    /* Add your margin or height rules here */
}

我认为对于您要执行的操作,您应该使用列表:

<ul id="linksinner">
    <li><a href="#">1</a></li>
    <li><a href="#">1</a></li>
    <li><a href="#">1</a></li>
    <li><a href="#">1</a></li>
    <li><a href="#">1</a></li>
<ul>

然后,您可以将边距或填充规则应用于<li />标签。如果您不想显示要点,请使用:

#linksinner li { list-style-type: none}
于 2009-07-16T00:20:23.007 回答
-1

您需要为锚标签而不是 div 提供填充或边距。但实际上不要,而是这样做:

<p><a href="#"></a></p>

并给 p 一个 padding-bottom 或 padding-top。

于 2009-07-16T00:21:21.090 回答