我有一个带有链接的div。而且我用<br>
标签将它们排在另一个之上,因为我无法弄清楚如何使用CSS添加垂直间距。我尝试在样式规则中添加底部边距和底部填充,但它似乎没有任何影响(为什么?)。我可以添加另一个<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>
答案 0 :(得分:9)
垂直边距和填充仅适用于div
和p
等块级元素。 a
是一个内联元素,因此无法工作。
为了做你想做的事,你需要在链接中添加以下样式:
display:block;
只有这样才能正确应用顶部和底部的边距和分页
编辑:如果你这样做,你也可以摆脱<br/>
标签
答案 1 :(得分:1)
要添加垂直间距,您可以执行以下操作:
#linksinner
{
line-height: 150%;
}
边距不会对<a>
元素产生任何影响,因为它们是内联的。另一种解决方案是制作它们:
display: block;
这意味着他们会尊重您的利润,然后您就不需要<br>
。
答案 2 :(得分: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}
答案 3 :(得分:-1)
您需要为锚标签提供填充或边距,而不是div。但实际上不这样做,而是这样做:
<p><a href="#"></a></p>
并给p填充底部或填充顶部。