Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Un bogue CSS spécifique Opera

1 réponse
Avatar
William Marie
Habituellement c'est IE qui se singularise, là c'est Opera.

Voilà ce qui se passe :

Dans ma feuille de style j'ai une image attribuée comme fond

#tout #corps #partie_gauche {
position:absolute;
height: 453px;
width: 300px;
background-image: url(images/sorcier.jpg);
background-repeat: no-repeat;
background-position: center;
margin: 0px;
}

C'est utilisé dans la feuille HTML tout bêtement

<div id="corps">
<div id="partie_gauche">
</div>
......

Dans une autre feuille qui reprend la structure, je veux changer
l'image par une autre (même taille), je mets donc

<div id="corps">
<div id="partie_gauche"
style="background-image:url(images/lord.jpg)">
</div>

Ca fonctionne très bien avec IE 6, Firefox 1.5 mais Opera refuse cette
substitution (idem pour d'autre boîte dont je veux supprimer l'image
en mettant style="background-image:none"

Certes je peux m'en sortir en déconnectant le style et en utilisant
l'HTML classique mais ça serait moins élégant.

Alors pourquoi diable cet Opera joue des fausses notes (parce que j'ai
appris que le style introduit dans le code HTML est prioritaire sur
celui de la feuille de style).

J'ai un moment pensé que c'était pas parce que j'utilisais un 'id' au
lieu d'une 'class' (pas tenté de voir la modif) mais si Firefox se
conduit bien (et IE 6) c'est qu'il y a un gag spécifique à Opera (de
même que la gestion des plugins qui est désastreuse, mais c'est un
autre sujet).
--
===========================================================
William Marie
Toulouse (France)
mailto:wmarie@trapellun.net
ATTENTION ! Anti-SPAM pour m'écrire remplacer trapellun.net
par free.fr
http://wmarie.free.fr
===========================================================

1 réponse

Avatar
Sébastien Guillon
Olivier Miakinen a écrit :
Si tu as ce genre de crainte, c'est que les histoires de cascade et
d'héritage ne sont pas parfaitement claires pour toi. Je te conseille
alors vivement de revenir à la source afin d'éviter des surprises :
http://www.w3.org/TR/REC-CSS2/cascade.html [en]
http://www.yoyodesign.org/doc/w3c/css2/cascade.html [fr]



Salut Olivier,

Ca peut aussi être une mesure préventive en cas d'évolution plus ou
moins anarchique.

Une autre utilité de ce mode de fontionnement est d'indiquer
explicitement où la règle va s'appliquer. Dans le cas d'un identifiant,
on pourra savoir exactement où le trouver en regardant la feuille de styles.

ex :
/* Règle exagérément longue et eplicite */
body#contact form div#extras p select#langue {...}

même s'il n'y a qu'un seul élément select avec l'identifiant "langue"
dans tout le site, on sait dans quel fichier on va le trouver, rien
qu'en regardant la feuille de styles. C'est très pratique pour s'y
retrouver dans une feuille de styles très longue.

Un des reproches que font les débutants en CSS est cette totale
abstraction qu'on est sensé viser entre présentation et structure. Des
règles explicites, grâce à une spécificité maximale, aident à s'y retrouver.


--
Sébastien Guillon
http://sebastienguillon.com