Vraag:
Is het mogelijk om de inhoud van een list item verticaal te aligneren?
Probleem:
Ik heb een layer waarin een unordered list staat, als navigatie. Elk list item in die lijst is 30px hoog, en nu zou ik graag de hyperlinks in elk item rechts vanonder uitlijnen. Rechts is geen probleem (text-align: right) maar hoe krijg ik ze naar onder? Bijkomend probleem is de :hover pseudo-class die ik graag zou behouden. Die zorgt ervoor dat de achtergrondkleur verandert maar strooit nogal wat roet in het eten met zijn "display: block".
Pogingen tot oplossing:
De HTML:
De CSS:
Is het mogelijk om de inhoud van een list item verticaal te aligneren?
Probleem:
Ik heb een layer waarin een unordered list staat, als navigatie. Elk list item in die lijst is 30px hoog, en nu zou ik graag de hyperlinks in elk item rechts vanonder uitlijnen. Rechts is geen probleem (text-align: right) maar hoe krijg ik ze naar onder? Bijkomend probleem is de :hover pseudo-class die ik graag zou behouden. Die zorgt ervoor dat de achtergrondkleur verandert maar strooit nogal wat roet in het eten met zijn "display: block".
Pogingen tot oplossing:
- Link in absoluut gepositioneerde layer in relatief gepositioneerd list-item (li > div > a): geeft in IE onverklaarbare witruimte onder elk item, behalve de 2 bovenste. Firefox ok, maar niet echt een elegante oplossing (en ook niet conform de standaarden vermoed ik). Ik heb gemerkt dat die fantoom-IE-witruimte trouwens ook verschijnt als ik de link 10px groot maak (font-size dan). Dat heeft iets te maken met de "display: block", maar wat weet ik niet (en met de browser natuurlijk, maar soit).
- Link in absoluut gepositioneerde layer in relatief gepositioneerde layer in list-item (li > div > div > a): idem, en een wel heel omslachtige oplossing.
- nog 231,5 vruchteloze probeersels die ik me nu zelfs niet meer allemaal herinner
De HTML:
code:
1
2
3
4
5
6
7
8
9
| <div id="navigationLeft">
<ul id="navigationLeftList">
<li><a href="#">link 01</a></li>
<li><a href="#">link 02</a></li>
<li><a href="#">link 03</a></li>
<li><a href="#">link 04</a></li>
<li><a href="#">link 05</a></li>
</ul>
</div> |
De CSS:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
| #navigationLeft {
width: 140px;
height: 400px;
background: #CC0000;
}
ul#navigationLeftList {
padding: 0;
margin: 0;
list-style: none;
border-top: 1px solid #7D0A18;
border-bottom: 1px solid #D5616F;
}
ul#navigationLeftList li {
height: 30px;
border-top: 1px solid #D5616F;
border-bottom: 1px solid #7D0A18;
}
ul#navigationLeftList a {
display: block;
width: 100%;
height: 100%;
}
ul#navigationLeftList a:hover {
background: #E8021E;
} |