2014-07-12 3 views
1

Pour un projet en cours, j'essaie de supprimer les effets de survol sur des appareils dotés d'un écran tactile. Mon plan est d'utiliser @media handheld { /* non-hover styles here */ }, coller ici tout dans mon fichier CSS qui a :hover dessus, et il suffit de supprimer tous les effets hover.@media ordinateur de poche - aucun effet de survol

Exemple:

/* desktop */ 

a.my_element { 
color : #ff0000; 
} 
a.my_element:hover { 
color : #000000; 
} 

/* handheld devices */ 

@media handheld { 
a.my_element:hover { 
} 
} 

Est-ce ma logique correcte? Est-ce que ça va marcher?

+0

Vous devez indiquer explicitement les effets hover que vous souhaitez supprimer dans la requête. – BuddhistBeast

+0

Je ne comprends pas (?) - Je veux supprimer tous les effets hover, sur l'ensemble du site. – Malasorte

Répondre

1

Effectuez les opérations suivantes:

HTML

<a href="#" class="my_element"> example </a> 

CSS

a.my_element { 
color : #ff0000; 
} 
a.my_element:hover { 
color : #000000; 
} 

/* handheld devices */ 

@media (max-width: 480px){ 
    a.my_element:hover { 
     color: #ff0000;   
    } 
} 

Ce sera à peu près utiliser les médias requête à 460px de style en vol stationnaire pour être exactement la même couleur que si il n'a pas été plané (créant finalement ce que vous aimeriez faire).

DEMO JSFiddle

+0

Mais pourquoi ne puis-je pas simplement ajouter un a.my_element VIDE: hover? L'effet devrait être le même ... – Malasorte

+1

Mais ce n'est pas le cas, tout simplement parce que vous ne spécifiez pas ce qui devrait arriver à cette largeur. Si vous ne mettez rien, alors la requête média ne fait rien car vous ne l'avez pas spécifiée. Cependant, si vous ajoutez la couleur, la requête média peut le reconnaître et exécuter le CSS. Fondamentalement, l'ajout d'un espace vide conserve les mêmes effets de survol qu'auparavant. – BuddhistBeast

+0

Merci, je l'ai maintenant! – Malasorte

Questions connexes