5568 sujets

Sémantique web et HTML

Une petite question me taraude, je me demandais s'il était mieux de faire un rollover en css ou en javascript ?


Merci par avance
Modérateur
Un rollover de quoi?

Si c'est pour changer la couleur des liens au passage de la souris ou changer le background d'un menu : CSS

Si c'est pour faire apparaître des éléments (texte, infobulle...) ou changer une image au passage de la souris : Javascript
Modifié par Tony Monast (30 Sep 2010 - 22:56)
Pardon, j'ai oublié de préciser.

C'est pour un rollover sur une image. Je connais pas bien le javascript par contre avec css pas de soucis. C'est pour cela que je me demandais s'il était plus pertinent de le faire en javascript, au quel cas, j'apprendrais à le faire Smiley cligne
merci
Modérateur
Est-ce une image dans le code HTML? (<img ...>)

Si c'est le cas, j'opterais pour le Javascript.
Tony Monast a écrit :

Si c'est pour faire apparaître des éléments (texte, infobulle...) ou changer une image au passage de la souris : Javascript

L'infobulle ça peut se gérer assez facilement en CSS pourtant?
Modérateur
Hermann a écrit :

L'infobulle ça peut se gérer assez facilement en CSS pourtant?


Facilement peut-être, mais je ne trouve pas ça approprié. Il y a plein de trucs que les gens font avec CSS, et ce n'est pas pour autant que je trouve que c'est correct de le faire avec ce langage. Je pense notamment à des animations, à des albums photos complets ou des menus en cascade. Ça devient un peu n'importe quoi, mais ça n'engage que moi.

Pour moi, le HTML est pour la structure et le contenu, le CSS la mise en page, et le Javascript pour l'interactivité. Plus le temps passe et plus les gens utilisent le CSS pour faire de l'interactivité, rôle qui devrait être celui du Javascript.
Modifié par Tony Monast (01 Oct 2010 - 16:49)
Tony Monast a écrit :

Facilement peut-être, mais je ne trouve pas ça approprié. Il y a plein de trucs que les gens font avec CSS, et ce n'est pas pour autant que je trouve que c'est correct de le faire avec ce langage. Je pense notamment à des animations, à des albums photos complets ou des menus en cascade. Ça devient un peu n'importe quoi, mais ça n'engage que moi.

Pour moi, le HTML est pour la structure et le contenu, le CSS la mise en page, et le Javascript pour l'interactivité. Plus le temps passe et plus les gens utilisent le CSS pour faire de l'interactivité, rôle qui devrait être celui du Javascript.

La frontière comportement/interactivité - présentation n'est même pas totale et évidente avec CSS2 (voir les pseudo-class dynamique) et encore moins avec CSS3 (transition et animations) dont les effets servent à faciliter leur intégration.
Sur le fond je suis d'accord avec toi mais dans la réalité les nouvelles possibilités dynamiques de CSS3 rendent cette séparation caduc.
Modérateur
Je dirais que même si CSS3 permet des animations et des transitions, je reste sur ma position. D'ailleurs, je trouve ça très curieux que ces effets fassent partie de CSS3. Toutes ces années à vouloir faire la séparation structure HTML et présentation CSS, que voilà qu'on décide de mélanger interactivité et CSS. Je trouve que c'est une erreur, quoique comme toujours, je suis ouvert à lire quelques débats là-dessus. Smiley cligne
Tony Monast a écrit :
Je dirais que même si CSS3 permet des animations et des transitions, je reste sur ma position. D'ailleurs, je trouve ça très curieux que ces effets fassent partie de CSS3.
A mon avis ça n'a été développé que pour faciliter l'implémentation de certains effets, rien de plus Smiley cligne ; malgré le risque d'uniformisation des effets que cela va entrainer.

Ceci dit, dans le même ordre d'idée, j'espère qu'on va pas dériver vers un usage détourné des possibilités qu'offre CSS3 en s'en servant pour créer des illustrations complexes (voir les défis CSS)...
Modifié par Hermann (01 Oct 2010 - 19:37)