28172 sujets

CSS et mise en forme, CSS3

Bonjour à tous,

J'ai une question de fond et de débutant peut-être.

Quand je déclare un style CSS, si par exemple, je n'ai pas à utiliser une propriété, disons font-variant ; quelle est la meilleur méthode :
- ne pas la déclarer dans le style puisque je ne l'utilise pas ?
- ne pas l'utiliser car tous les navigateurs l'interprète de manière identique ?
- la déclarer avec la propriété normal, pour le laisser aucune interprétation inadéquate de la part du navigateur ?
L'autre façon de déclarer serait de se dire que je ne déclare que les propriétés qui ont des interprétations différentes selon les navigateurs : margin, padding... par exemple. Ceci pour imposer les valeurs que je veux.
Toutes les propriétés qui ont une interprétation identique, il n'est pas nécessaire de les déclarer si je ne les utilise pas.

Merci pour vos conseils.
Salut,

(sujet déplacé).

Il est (heureusement) inutile de redéfinir chaque propriété d'un élément : elles ont toutes une valeur par défaut qui sera celle utilisée.

Pour ce qui est des valeurs différentes entre navigateurs (notamment pour les éléments UL et OL) je t'invite à lire Le rendu par défaut des éléments HTML et à utiliser l'outil associé dans différents navigateurs.
Merci pour ta réponses,
Puis-je conclure qu'il vaut mieux fixer une valeur pour les propriétés dont les valeurs par défaut sont différentes entre les navigateurs ?
krakkos a écrit :
Puis-je conclure qu'il vaut mieux fixer une valeur pour les propriétés dont les valeurs par défaut sont différentes entre les navigateurs ?

Non.

Il est par contre utile de fixer les valeurs de certaines propriétés pour certains éléments. Mais ce n'est pas indispensable.
Florent V. a écrit :
Il est par contre utile de fixer les valeurs de certaines propriétés pour certains éléments

Ma question est bien sûr Smiley ravi les quelles ?
krakkos a écrit :
Ma question est bien sûr Smiley ravi les quelles ?

Celles que dicte l'expérience. Mais grosso modo et pour faire bref:
- le retrait interne de BODY, qui est un margin ou padding de 8px suivant les navigateurs (penser à mettre les deux à zéro si on souhaite coller des conteneurs aux bords de la zone de visualisation du navigateur);
- le retrait à gauche des listes UL et OL, qui est un margin-left ou un padding-left de 40px suivant les navigateurs;
- les font-size par défaut des titres HN, qui varient un peu suivant les navigateurs;
- les marges supérieures et inférieures par défaut des paragraphes, qui sont en EM dans Firefox et d'autres navigateurs, et en pixels dans IE;
- les marges et retraits internes des éléments FIELDSET;
- euh c'est à peu près tout.

Ça peut se gérer ponctuellement en fonction des besoins, ou en amont avec quelques styles de base placés en début de feuille de styles ou dans une feuille de styles à part.
krakkos a écrit :

L'autre façon de déclarer serait de se dire que je ne déclare que les propriétés qui ont des interprétations différentes selon les navigateurs : margin, padding... par exemple. Ceci pour imposer les valeurs que je veux.


C'est aussi le principe des 'reset', ceux de Meyer ou de Montoya, remise à zéro des propriétés qu'interprètent différemment les navigateurs. Un bon guide ici :
/5-reset-css-a-la-loupe-pour-une-remise-a-zero-des-valeurs-par-defaut-des-navigateurs
Modifié par Florent V. (02 Feb 2009 - 14:57)
Pas tout à fait le principe du reset CSS, non. Le reset CSS consiste à tout remettre à zéro, pour obtenir un résultat complètement neutre tel qu'on peut l'observer ici:
http://developer.yahoo.com/yui/examples/reset/reset-simple_source.html

Ici, il s'agirait juste d'harmoniser les styles par défaut des navigateurs, pas de les annuler. C'est une approche très différente, même si pour un projet donné il peut y avoir quelques styles qu'on voudra «remettre à zéro» de manière globale.