28173 sujets

CSS et mise en forme, CSS3

Bonjour ,

Voici mon code :


#clockfrench , #clockSpain ,#clockEN ,#clockTK, #clockNY 
{border-top-width: 0px; font-size: 0.8em; background: #ff6600; float: left; color: #ffffff; text-align: center}
#clockfrench {width:5%;}
#clockSpain  {width: 5%;}
#clockEN     {width: 10%; }
#clockTK     {width: 10%; }
#clockNY     {width: 14%;}

/* pour FIREFOX  */
#clockfrench , #clockSpain ,#clockEN, #clockTK , #clockNY  {border:1px blue solid !important;font-size:1em !important;}
#clockSpain ,#clockEN, #clockTK  { width:12.95% !important;}
#clockNY { width:16.6% !important;}
#clockfrench {width:12.3% !important;}
/* pour FIREFOX  */


sous IE , les div #clockfrench , #clockSpain ,#clockEN, #clockTK , #clockNY apparaissent avec un border:1px blue solid; malgré le !important.
je croyais que le !important n'était pas compris par IE justement.
Modifié par marholyne (27 Apr 2007 - 13:30)
Bonjour,

!important est compris par IE7

( ce que je sais que depuis avant-hier Smiley langue )
Modifié par CPascal (27 Apr 2007 - 13:47)
ceci dit

si avec mon IE6 ( je suis un retardataire) j'essai ton code.

j'affiche tes bordures bleu aussi.

si par contre je mets

border:1px blue solid!important; 
border: 1px green solid;


IE6 m affiche les bord en vert
et FF en bleu
Modifié par CPascal (27 Apr 2007 - 14:23)
CPascal a donné la solution (même s'il aurait pu mettre en forme son code correctement, hein !). Mais pour détailler :

1) IE 6 ne comprend pas !important et l'ignore ;
2) Par conséquent, l'instruction suivante :
border: solid 1px green !important;
sera comprise ainsi :
border: solid 1px green;


Si tu as des correctifs à apporter à la mise en page dans Internet Explorer, je t'invite plutôt à te renseigner sur les commentaires conditionnels. Voir, par exemple, la FAQ du forum.
Euh j'ai pas compris ton exemple :
s'il l'ignore comment peut-il l'exécuter?

D'après la faq on utilise les commentaires conditionnels :
"Pour réserver du code HTML à une ou plusieurs versions spécifiques d'IE, ..."
pour du HTML.
Comment faire pour du CSS ?
Modifié par marholyne (27 Apr 2007 - 14:42)
marholyne a écrit :
Euh j'ai pas compris ton exemple :
s'il l'ignore comment peut-il l'exécuter?

Il ne l'exécute pas.
Dans le code suivant :
border: solid 1px green !important;

Internet Explorer 6 comprend ceci :
border: solid 1px green

mais pas ceci :
!important;

Donc au final ça revient, pour Internet Explorer 6, à écrire :
border: solid 1px green;



Je vois pas trop comment on pourrait être plus clair. Smiley sweatdrop

Je crois surtout que tu as mal compris le rôle de la déclaration !important. Elle ne sert absolument pas à annuler l'application d'une instruction CSS dans IE6, mais à renforcer le poids de cette instruction dans tous les navigateurs qui comprennent !important.

Lorsque j'ai le code suivant :
border: solid 1px green !important;
border: solid 1px red;

Les navigateurs récent comprendront que la première ligne est la plus importante, et la bordure sera verte. Internet Explorer 6, lui, accordera le même poids aux deux instructions, et la première sera donc écrasée par la seconde (selon les règles de la cascade CSS) : la bordure sera rouge.
marholyne a écrit :
D'après la faq on utilise les commentaires conditionnels :
"Pour réserver du code HTML à une ou plusieurs versions spécifiques d'IE, ..."
pour du HTML.
Comment faire pour du CSS ?

HTML permet d'insérer du CSS, ou d'appeler une feuille de style CSS.

Exemple avec un commentaire conditionnel :
<link rel="stylesheet" type="text/css" href="style.css" />
<!--[if lte IE 6]>
<link rel="stylesheet" type="text/css" href="correctifs-ie6.css" />
<![ endif ]-->

(Note : il n'y a normalement pas d'espaces dans le [ endif ] final.)
J'ai effectivement mal compris l'usage de !important; c'est en effet une façon bid Smiley ohwell uilleuse de l'utiliser

Quant aux commentaires, je n'ai pas la possibilité de modifier les pages du site.

Y-a-t'il un moyen , dans les fichiers CSS de changer le style suivant le navigateur ?
Modifié par marholyne (27 Apr 2007 - 15:10)
marholyne a écrit :
Quant aux commentaires, je n'ai pas la possibilité de modifier les pages du site.

Du tout du tout ? C'est mal barré pour faire quelque chose de convenable.

marholyne a écrit :
Y-a-t'il un moyen , dans les fichiers CSS de changer le style suivant le navigateur ?

Non, rien de fiable. Il ne te reste plus que les hacks CSS comme option, mais leur utilisation n'est pas particulièrement fiable.

Les hacks qui peuvent t'intéresser sont ceux qui s'appliquent à IE6 et inférieurs, mais pas à IE7 ni à tous les autres navigateurs. Là, tu as une bonne chance (même si aucune certitude) pour que ces hacks ne s'appliquent pas aux futures versions des navigateurs, ce qui te permet de dormir presque sur tes deux oreilles.

Sur les problèmes liés à l'utilisation des hacks CSS, voir la FAQ.