I have a div with links in it. And I'm lining them up one over the other with <br>
tags because I couldn't figure out how to add vertical spacingn with CSS. I tried adding a bottom margin and a bottom padding to the a style rule but it didn't seem to have any effect (why?). I could add another <br>
tag to separate them more but I have to assume there's a nicer way to do this with CSS that I just haven't been able to figure out.
<!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>
Vertical margin and padding only works on block level elements like div
and p
. a
is an inline element so it wont work.
In order to do what you want you need to add the following style to your links:
display:block;
only then will margin and paging for top and bottom get applied correctly
EDIT: if you do it this way you can also get rid of the <br/>
tags