Ik wil de gebruiker van mijn cms de mogelijkheid geven zelf de vorm van de administratie-links te kunnen bepalen door middel van css. Stel dat een ingelogde gebruiker beschikt over het volgende admin menu, en doorgeklikt heeft naar user > permissions:
Standaard laat ik dit menu zien in een ordered list:
Ik wil echter ook de mogelijkheid bieden om de links in een horizontale tabvorm weer te geven:
Dit is me na lang proberen gelukt op de volgende manier:
Het probleem is alleen dat bovenstaande list een andere opbouw heeft dan die bovenaan deze post. Belangrijkste verschil: semantisch gezien is deze list niet correct - hoewel permissions en roles kinderen zijn van users, staan ze in een aparte list. Mijn vraag is nu eigenlijk - is er een manier om de list die bovenaan deze post genoemd staat, met css hetzelfde eruit te laten zien als het uitgewerkte voorbeeld hierboven? Mijn css-kennis is blijkbaar te gebrekkig om dit zelf op te kunnen lossen - het uitwerken van de tabs hierboven kostte me zowat de hele dag
Ik hoop dat iemand mij kan helpen / zeggen of het mogelijk is en of het css-correct is. Anders moet ik mijn PHP aanpassen zodat de functie die de administatie-list bouwt twee verschillende outputs geeft, afhankelijk van de vorm die men wil hebben (lijst onder elkaar of tabs) en dat vermijd ik echt heel graag!
HTML:
1
2
3
4
5
6
7
8
9
10
| <ul> <li class="expanded"><a href="users">Users</a> <ul> <li class="leaf"><a href="users/permissions" class="active">permissions</a></li> <li class="leaf"><a href="users/roles">roles</a></li> </ul> </li> <li class="leaf"><a href="logs">Logs</a></li> <li class="leaf"><a href="about">About</a></li> </ul> |
Standaard laat ik dit menu zien in een ordered list:
code:
1
2
3
4
5
| Users permissions roles Logs About |
Ik wil echter ook de mogelijkheid bieden om de links in een horizontale tabvorm weer te geven:
code:
1
2
3
4
5
| +-------+ +------+ +-------+ | Users | | Logs | | About | + +------------------+ | permissions | roles | +--------------------------+ |
Dit is me na lang proberen gelukt op de volgende manier:
HTML:
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
| <style> ul.primary { border-collapse: collapse; padding: 0em 0em 0em 1em; white-space: nowrap; list-style: none; margin: 5px; height: auto; line-height: normal; border-bottom: 1px solid #bbb; } ul.primary li { display: inline; } ul.primary li a { background-color: #ddd; border-color: #bbb; border-width: 1px; border-style: solid solid none solid; height: auto; margin-right: 0.5em; padding: 0em 1em; text-decoration: none; } ul.primary li.active a { background-color: #fff; border: 1px solid #bbb; border-bottom: #fff 1px solid; } ul.primary li a:hover { background-color: #eee; border-color: #ccc; border-bottom-color: #eee; } ul.secondary { border-bottom: 1px solid #bbb; padding: 0.5em 1em 0.5em 1em; margin: 5px; } ul.secondary li { display: inline; padding: 0 1em; border-right: 1px solid #ccc; } ul.secondary a { padding: 0; text-decoration: none; } ul.secondary a.active { border-bottom: 4px solid #999; } </style> <div class="tabs"> <ul class="tabs primary"> <li class="active"><a href="users" class="active">Users</a></li> <li><a href="logs">Logs</a></li> <li><a href="about">About</a></li> </ul> <ul class="tabs secondary"> <li class="active"><a href="users/permissions" class="active">permissions</a></li> <li><a href="users/roles">roles</a></li> </ul> </div> |
Het probleem is alleen dat bovenstaande list een andere opbouw heeft dan die bovenaan deze post. Belangrijkste verschil: semantisch gezien is deze list niet correct - hoewel permissions en roles kinderen zijn van users, staan ze in een aparte list. Mijn vraag is nu eigenlijk - is er een manier om de list die bovenaan deze post genoemd staat, met css hetzelfde eruit te laten zien als het uitgewerkte voorbeeld hierboven? Mijn css-kennis is blijkbaar te gebrekkig om dit zelf op te kunnen lossen - het uitwerken van de tabs hierboven kostte me zowat de hele dag
[ Voor 17% gewijzigd door Reveller op 23-01-2005 20:17 ]
"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."


