Avatar billede Slettet bruger
19. januar 2004 - 22:02 Der er 7 kommentarer og
1 løsning

Menu opfører sig forkert

Hmm... kunne ikke komme på en mere sigende overskrift.

Mit problem er lidt underligt.

Jeg har en layout.css der indeholder følgende (udsnit):
#menu {
    position:absolute;
    top: 200px;
    left: 20px;
    width: 158px;
        padding: 0px;
        color: #000000;
        background-color: #ff3333;
    z-index: 1;
}

.menu_k {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 10px;
        background-color: #333333;
    color: #ffffff;
    text-decoration: none;
        height: 20px;
        width: 158px;
        padding: 0px 0px 0px 0px;
}

.menu_k:hover {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 10px;
        background-color: #333333;
    color: #999666;
    text-decoration: none;
        height: 20px;
        width: 158px;
        padding: 0px 0px 0px 0px;
}

Hvis jeg laver en række knapper på følgende måde:

<div id=\"menu\">
  <a class="\"menu_k\" href=\"test.php\">Test</a>
  <a class="\"menu_k\" href=\"test.php\">Test</a>
  <a class="\"menu_k\" href=\"test.php\">Test</a>
</div>

... kommer der en rød linje under hver knap, hvilket jeg selvfølgelig godt ved jeg kan fjerne ved at ændre på min baggrundfarve for menuen.

Laver jeg derimod menuen på følgende måde:

<div id=\"menu\">
  <a href=\"test.php\"><div class=\"menu_k\">Test</div></a>
  <a href=\"test.php\"><div class=\"menu_k\">Test</div></a>
  <a href=\"test.php\"><div class=\"menu_k\">Test</div></a>
</div>

Ser menuen korrekt ud, men så du'r mouse-over effekten bare ikke. Jeg kan godt klikke på et menupunkt, hvilket fungerer, men musecursoren bliver ikke til en hånd som den skal.

Den første måde at lave et link på, anser jeg for at være den mest brugte måde, men om den er korrekt ved jeg ikke.

Hvordan skal jeg lave disse knappe, så jeg selv kan angive størrelsen på knapperne, uden at der kommer et træls mellemrum mellem hver knap???
Avatar billede Slettet bruger
19. januar 2004 - 22:04 #1
Ups, html-koden indeholder php-tags.

Html-koden skulle se sådan her ud:
<div id="menu">
  <a class="menu_k" href="test.php">Test</a>
  <a class="menu_k" href="test.php">Test</a>
  <a class="menu_k" href="test.php">Test</a>
</div>

<div id="menu">
  <a href="test.php"><div class="menu_k">Test</div></a>
  <a href="test.php"><div class="menu_k">Test</div></a>
  <a href="test.php"><div class="menu_k">Test</div></a>
</div>
Avatar billede taskmgr Nybegynder
19. januar 2004 - 22:13 #2
:hover pseudo-klassen er da kun til A elementer, eller tager jeg fejl?
Du laver jo en div:hover...
Avatar billede Slettet bruger
20. januar 2004 - 00:53 #3
.menu_k a:hover {
Avatar billede Slettet bruger
20. januar 2004 - 00:54 #4
Vrøvl. Her.

a.menu_k:hover {

Eller

.menu a:hover {
Avatar billede roenving Novice
20. januar 2004 - 01:18 #5
Ifølge css2-definitionen er :link, :visited, :hover og :active pseudo-selektorerne brugbare på et hvilkensomhelst element, men næsten ingen browsere har dem implementeret på andre elementer end links ...

-- men du kan vel:

<div id="menu">
  <a href="test.php" class="menu_k"><div>Test</div></a>
  <a href="test.php" class="menu_k"><div>Test</div></a>
  <a href="test.php" class="menu_k"><div>Test</div></a>
</div>
Avatar billede Slettet bruger
20. januar 2004 - 19:16 #6
roenving...> Kanon, det løste problemet.

Har du en forklaring på hvad det præcist er der sker når teksten i et link defineres med <DIV>-tags???

Anyway, lav et svar og pointene er dine :o)
Avatar billede roenving Novice
21. januar 2004 - 04:15 #7
Der er ingen fordel ved at bruge div-tags som i det ovenstående, men der kan ellers være fordele ved at gøre det ...

En layer er pr. definition et block-level element, dvs. at det normalt vil forvente at det skal fylde hele 'linjen', hvor et et link eller f.eks. en span er inline, de vil forvente at det skal blive inden i et afsnit ...

-- en sammenligning kan være den, at hvis du indsætter en tabel i et tekst-dokument (i et tekst-behandlingsprogram) vil det automatisk flytte sig ned på næste linje (= block-level !-), hvis du markerer 3 ord i en linje og kursiverer dem, bliver de på samme linje, som de hele tiden har været (de er et inline element).

-- fordele med divs, som indeholder af tekst-stykker hænger sammen med dynamik. Hvis du har behov for at ændre indholdet af dele af en tekst, eller at skjule/vise afhængig af betingelser, kan div/span-elementer være en fornuftig tilgang til en gruppering (det kan dog også bruges direkte på f.eks. et link-element eller afsnit (<p>), punkt (<li>), men de skal under alle omstændigheder så have en unik mulighed for at få fat i elementet (typisk vil man bruge et id, men på form-elementer og f.eks. (i)frames kan der være fordele i at bruge et name).

-- ellers velbekomme '-)
Avatar billede roenving Novice
24. januar 2004 - 18:12 #8
-- og tak for points ;~}
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