[CSS] :hover op de ipad

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • CaptainCapslock
  • Registratie: November 2009
  • Laatst online: 24-02 17:04
Hallo,

Ik heb een dropdown menu gemaakt zie voorbeeldje: http://jsfiddle.net/Yk7fD/

Als je met de muis over het menu gaat dan krijg je het dropdown menu te zien, dankzij :hover in de CSS code. In android moet je er op 'tappen' om het menu te zien.

Echter in iOS, dus op de iPhone en iPad gebeurt er niets. Heeft iemand hier een oplossing voor?


Cascading Stylesheet:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
ul{
 list-style-type: none;   
}

div > ul > li{
 float: left;  
 margin-right: 30px;    
}

div > ul > li > ul {
  position: absolute;
  height: 0px;
  opacity: 0;    
}

div > ul > li:hover > ul {
  height: 30px;
  opacity: 1;    
}


HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<div>
    <ul>
        <li>
            <a href="#">Item 1</a>
        </li>
        <li>
            Item 2
            <ul>
                <li>
                    <a href="#">Item 4</a>
                </li>
                <li>
                    <a href="#">Item 5</a>
                </li>
            </ul>            
        </li>
        <li>
            <a href="#">Item 3</a>
        </li>
    </ul>
</div>


Alvast bedankt!

Acties:
  • 0 Henk 'm!

  • Drawer
  • Registratie: November 2004
  • Niet online
Hoe zou je willen hoveren op een touchscreen? Hoe zie je dat voor je, voorzichtig aanraken of iets dergelijks?

Acties:
  • 0 Henk 'm!

  • CaptainCapslock
  • Registratie: November 2009
  • Laatst online: 24-02 17:04
Ja, zoals je kan zien is "item 2" geen link. In Android kan je het toch aanraken, en dan treed het :hover effect in werking.

Acties:
  • 0 Henk 'm!

  • Barryvdh
  • Registratie: Juni 2003
  • Laatst online: 14:10
Je kan op tablets beter werken met klikken, in plaats van hovers. Zoiets bijvoorbeeld:
http://jsfiddle.net/ymKgE/
(Dus ipv :hover, de class .hover, en met jQuery de class .hover meegeven als je op het item klikt)
En dan kan je het beste met een pijltje oid aangeven dat het een dropdown is.

Acties:
  • 0 Henk 'm!

  • marko77
  • Registratie: Februari 2002
  • Laatst online: 06-05 19:41
Je kunt ook het 'mouseover' event gebruiken, de iPad maakt daar automatisch een onclick van, dubbelclick wordt dan de onclick. Echter dat is iPad only afaik, dus een click event binden voor alle tablets is de beste oplossing.

Mijn rig


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 10-09 08:45

Bosmonster

*zucht*

Barryvdh schreef op zaterdag 07 april 2012 @ 18:17:
Je kan op tablets beter werken met klikken, in plaats van hovers. Zoiets bijvoorbeeld:
http://jsfiddle.net/ymKgE/
(Dus ipv :hover, de class .hover, en met jQuery de class .hover meegeven als je op het item klikt)
En dan kan je het beste met een pijltje oid aangeven dat het een dropdown is.
Maar dan werkt je menu niet meer zonder javascript en dat is nu juist het grootste voordeel van de door TS gebruikte CSS-methode.

Acties:
  • 0 Henk 'm!

  • CaptainCapslock
  • Registratie: November 2009
  • Laatst online: 24-02 17:04
Bosmonster schreef op zaterdag 07 april 2012 @ 20:22:
[...]

Maar dan werkt je menu niet meer zonder javascript en dat is nu juist het grootste voordeel van de door TS gebruikte CSS-methode.
Dat is inderdaad mijn punt, ik zou het liefst een CSS only oplossing gebruiken.
quote: marko77
Je kunt ook het 'mouseover' event gebruiken, de iPad maakt daar automatisch een onclick van, dubbelclick wordt dan de onclick.
Als ik niets beters kan vinden zal ik waarschijnlijk voor de onmouseover="" oplossing gaan. Maar het is onlogisch dat voor javascript een mouseover wel wordt omgezet naar een click, terwijl een :hover wordt niet omgezet voor CSS

Acties:
  • 0 Henk 'm!

  • marko77
  • Registratie: Februari 2002
  • Laatst online: 06-05 19:41
onlogisch, ach dat valt wel mee, het is meer een feature ;)

Mijn rig


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 10-09 08:45

Bosmonster

*zucht*

CaptainCapslock schreef op zaterdag 07 april 2012 @ 21:07:
[...]

Als ik niets beters kan vinden zal ik waarschijnlijk voor de onmouseover="" oplossing gaan. Maar het is onlogisch dat voor javascript een mouseover wel wordt omgezet naar een click, terwijl een :hover wordt niet omgezet voor CSS
Op zich wel logisch, anders moet je dubbel tappen op iedere link met een :hover. Denk dat dat in de praktijk een beetje vervelend bleek :)

Daarnaast wordt :hover bijna alleen gebruikt voor visuele styling, dus is het ook niet heel belangrijk. Een dergelijk CSS uitklapmenu is echter wel een van de probleemgevallen.

[ Voor 15% gewijzigd door Bosmonster op 08-04-2012 01:03 ]

Pagina: 1