[CSS] Streepjes tussen menu-items (ul, li)

Pagina: 1
Acties:
  • 317 views sinds 30-01-2008
  • Reageer

Acties:
  • 0 Henk 'm!

Anoniem: 101208

Topicstarter
index.html
HTML:
1
2
3
4
5
<ul>
  <li>Home</li>
  <li>Login</li>
  <li>Register</li>
</ul>

Hoe maak ik van dit menu, zo'n menu:
code:
1
Home | Login | Register

... zonder de HTML te veranderen!
Is dit uberhaupt mogelijk?

[ Voor 16% gewijzigd door Anoniem: 101208 op 25-12-2004 16:41 ]


Acties:
  • 0 Henk 'm!

  • Megamind
  • Registratie: Augustus 2002
  • Laatst online: 28-02 01:01
Volgens mij kan dat niet, want LI staat voor LIST, UL voor Underordered List, die tag is bedoeld voor een opsomming...

Acties:
  • 0 Henk 'm!

  • Scott
  • Registratie: December 2004
  • Laatst online: 03:39

Scott

Ik ben, dus ik tweak

Als je de volgende CSS code neemt, kun je iets maken dat er erg veel op lijkt:

Cascading Stylesheet:
1
2
3
4
5
6
7
8
li {

display: inline;
list-style-type: none;
border-right: 1px solid #000;
margin: 0;

}

Acties:
  • 0 Henk 'm!

  • -Lars-
  • Registratie: Mei 2004
  • Niet online
Megamind schreef op zaterdag 25 december 2004 @ 16:42:
Volgens mij kan dat niet, want LI staat voor LIST, UL voor Underordered List, die tag is bedoeld voor een opsomming...
Een menu is een opsomming van links, waarvan elk onderdeel een list-item is. Semantisch is het inderdaad niet je-van-het, maar voorlopig het beste dan er beschikbaar is om een menu goed te omschrijven in (X)HTML.
Er komt een menu-element in XHTML 2, toch?

Verder ga ik mee met ScottB, alleen krijg je nu:
code:
1
Home | Login | Register |

Dus, nog een extra |. De oplossing daarvoor? Je zou voor het laatste item nog een appart id geven, en dan:
Cascading Stylesheet:
1
2
3
4
#laatste
{
border: 0;
}

[ Voor 10% gewijzigd door -Lars- op 25-12-2004 16:58 ]


Acties:
  • 0 Henk 'm!

Anoniem: 101208

Topicstarter
Ok bedankt.

In CSS2 komt er toch een first-child pseudo-element selector? Dan lukt het daarmee wel.

Acties:
  • 0 Henk 'm!

  • Blaise
  • Registratie: Juni 2001
  • Niet online
Dit lijkt er nog meer op (zonder | teveel)
Cascading Stylesheet:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
ul{
    font:normal 12px/10px verdana,sans-serif;
    height:12px;
    overflow:hidden;
    padding:0;
    margin:0;
    list-style-type:none;
}

li{
    float:left;
    height:14px;
    border-left:1px solid black;
    padding:0 10px;
    margin:0 0 0 -2px;
}


Getest in Firefox1, Opera 7,54 en IE6.

[ Voor 3% gewijzigd door Blaise op 26-12-2004 00:12 ]


Acties:
  • 0 Henk 'm!

Anoniem: 4275

Zie hier voor vele voorbeelden, en een beetje zoeken op google zou geen kwaad kunnen...

Acties:
  • 0 Henk 'm!

Anoniem: 97824

mozilla.org gebruikt het (zoek een pagina met class="snav"). Met :before en :after en wat gekloot met pseudo-classes moet het lukken. Als het echter ook in IE moet werken kun je gaan hacken met een background image en een ID of CLASS attribuutje op minimaal 1 van de elementjes.
Pagina: 1