Avatar billede linda_ Nybegynder
20. november 2008 - 12:39 Der er 12 kommentarer

Menu med bold hover - hvor det ved siden af ikke flytter sig

Hej

Jeg har et problem med en horisontal menu, der ser ud noget ala:
Link1  Link2  link3  link4  link5  link6 (etc.)

Ved hover på en af menupunkterne, samt det aktive, skal fonten være bold, men når jeg gør det, så skubber det lidt til de efterfølgende...

Hvordan laver jeg min CSS, således at ved hover på fx link3, så sker der absolut intet med placeringen for link4-5-6 ?
Avatar billede Slettet bruger
20. november 2008 - 12:46 #1
Når teksten gøres federe, så fylder skriften jo mere. Og så skubbes der til det, der er ved siden af.

Hvis du skal undgå det, så kan du placere linksene inde i en boks fx, der har en fast bredde.

  // Steeven
Avatar billede linda_ Nybegynder
20. november 2008 - 12:55 #2
Har overvejet tabeller, men som sidste udvej, da resten af designet er lavet tableless.
Tænkte derfor på, om der var en måde at lave det the CSS way :-)
Avatar billede olebole Juniormester
20. november 2008 - 12:59 #3
<ole>

CSS er absolut ikke modsætningen til tabeller - og du kan sagtens gøre det 'the CSS-way' med tabeller  ;o)

Derudover har steeven helt ret: Brug elementer med en fast bredde  =)

/mvh
</bole>
Avatar billede Slettet bruger
20. november 2008 - 13:01 #4
Altså boks-elementer behøver jo ikke være tabeller nødvendigvis - det er jo fx <div>-elementer...

  // Steeven
Avatar billede olebole Juniormester
20. november 2008 - 13:07 #5
Helt korrekt! Jeg prøver bare at understrege den sædvanlige misforståelse: "Jeg vil bruge ikke tabeller - altså må jeg bruge CSS i stedet". Nej, tabeller er HTML elementer - mens CSS er et styling sprog, som ikke indeholder elementer og ikke kan 'erstatte tabeller'  ;o)
Avatar billede linda_ Nybegynder
20. november 2008 - 13:20 #6
Kan I give et konkret eksempel på, hvordan en boks løsning ville se ud?
Avatar billede olebole Juniormester
20. november 2008 - 13:25 #7
<div style="width:90px;float:left"><a href="">Link 1</a></div>
<div style="width:90px;float:left"><a href="">Link 2</a></div>
<div style="width:90px;float:left"><a href="">Link 3</a></div>
Avatar billede olebole Juniormester
20. november 2008 - 13:25 #8
- og så skal du nok centrere teksten i boksene:
    <div style="width:90px;float:left;text-align:center"><a href="">Link 1</a></div>
Avatar billede or.han Nybegynder
20. november 2008 - 13:39 #9
En lidt "pænere" løsning:

HTML:
<ul id="nav">
    <li><a href="#">Link 1</a></li>
    <li><a href="#">Link 2</a></li>
    <li><a href="#">Link 3</a></li>
    <li><a href="#">Link 4</a></li>
    <li><a href="#">Link 5</a></li>
</ul>

CSS:
#nav:after {
    clear: both;
    content: ".";
    display: block;
    height: 0;
    visibility: hidden;
}

#nav li {
    display: block;
    float: left;
    text-align: center;
    width: 100px;
}

#nav li a {
    display: block;
}

#nav li a:hover {
    font-weight: bold;
}

PS: Jeg har ikke testet noget af det.
Avatar billede Slettet bruger
20. november 2008 - 13:41 #10
Olebole > Ja lige præcis.
Jeg synes tit jeg hører om, at folk misforstår brugen af tabeller lidt. Mange har hørt noget om, at man ikke skal bygge sine sider op vha. tabeller, og derfor undgår man for alt i verden tabeller. Men det er jo ikke meningen.
Til Linda > Tabeller er ganske nyttige til de formål, som de er beregnet til - oplistning / opstilling af tekst og ting på en side fx. Det er blot selve strukturen af sin hjemmeside, som man generelt siger bør undgås at være rene tabeller.

Og nej, CSS er ikke det, som man bygger sin side op med, hvis man ikke bruger tabeller. Det er den formatering, som du giver siden - også hvis den var påbygget af tabeller. Men bruger man <div>-bokse osv. fx, så er det jo smart at sætte en bredde og dimensioner vha. CSS (som Olebole gør).

  // Steeven
Avatar billede Slettet bruger
20. november 2008 - 13:41 #11
... og Or.Han
Avatar billede Slettet bruger
03. juli 2010 - 23:25 #12
Skal vi få lukket spørgsmålet...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester