Toon posts:

[HTML/CSS] anchor in list geeft raar gedrag

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb onderstaande html. Niet zo heel bijzonder. Ik wil mn submenuitems met een dropdown er vloeiend uit laten vallen. Op mn ul moet ik dus werken met de style clip zodat ik een mooie vloeiende beweging kan maken. Daarnaast wilde ik mn anchor een display:block; meegeven zodat ik deze mooier kan stylen en alle items de breedte van het menu kan meegeven. Alleen dan komt het rare verschijnsel in Internet Explorer (FF doet het goed). Ik krijg een lege regel onder Item 1. Die regel zou er dus niet mogen staan omdat ik middels clip:rect(0 0 0 0) aangeef dat het hele menu niet zichtbaar mag zijn.

Als ik uit mn stylesheet display:block weghaal voor mn a tag; dan werkt het wel goed. Hoe kan ik dit oplossen? Waar zit um het probleem?

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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
    <title>List Menu</title>
    
    <style type="text/css">
    
    a
    {
        display: block;
        height: 20px;
    }
    
    </style>
    
</head>

<body>


<ul>
    <li>
        <a href="#">Item 1</a>
        <ul style="clip:rect(0 0 0 0); position:absolute;">
            <li><a href="#">Item 1.1</a></li>
            <li><a href="#">Item 1.2</a></li>
        </ul>
    </li>
    <li><a href="#">Item 2</a></li>
    <li><a href="#">Item 3</a></li>
    <li><a href="#">Item 4</a></li>
    <li><a href="#">Item 5</a></li>
</ul>

</body>

</html>

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Moet je voor je a juist niet een display: inline-block hebben?

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Verwijderd

Topicstarter
Voor zover ik weet bestaat inline-block niet...

  • disjfa
  • Registratie: April 2001
  • Laatst online: 08-01 11:17

disjfa

be

Maar daarom bestaat toch css 2.1 8)7

disjfa - disj·fa (meneer)
disjfa.nl


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • frickY
  • Registratie: Juli 2001
  • Laatst online: 11:26
Die witte regel komt door de enter/tabs/spaties welke je na je anchor geeft.
De de </li> eens direct na de </ul>, en de <ul> direct na je <a>.. op dezelfde regels dus en zonder spaties/tabs er tussen.
Probeer het anders eens met een display: list-item op je anchor.

Verwijderd

Topicstarter
/me Sooterd wrijft z'n ogen even goed uit...

IE gaat dit nu inderdaad goed. Werkt dus alleen niet in FF. Wit regels weghalen in source had overigens geen effect.

[edit]

Ik kan het wel op onderstaande manier oplossen; maar vind dat niet de netste oplossing...

display: block;
_display: inline-block;

[ Voor 32% gewijzigd door Verwijderd op 16-11-2005 11:13 ]


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Ik snap het niet: het probleem deed zich niet voor in FF, je hebt het nu opgelost in IE en nu is het nog steeds niet goed?

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Verwijderd

Topicstarter
Voor IE werd het probleem opgelost doordat ik nu gebruik maak van inline-block, maar nu wordt mn a-tag binnen FF niet gezien als block element wat voor mij wel van belang is.

Dus heb ik het opgelost door onderstaande code:

display: block;
_display: inline-block;

Daarmee werkt het wel goed in beide browsers en vroeg me af of dit wel netjes is en er geen andere oplossing is om hetzelfde resultaat te bereiken.

Hoop dat dit duidelijker is :)
Pagina: 1