Aller au contenu
WebFrance

Rejoignez WebFrance (Cadeau : Le Guide 2018 pour rentabiliser un site)

Rejoindre WebFrance

Connexion  
spacemarmotte

Choix de la feuille de style selon navigateur...

Messages recommandés

Bonjour à tous,

j'utilise un condition pour prendre en charge une feuille CSS dans le cas ou le visiteur se sert d'IE7 ou inférieur:

<link rel="stylesheet" type="text/css" href="includes/css.css" />

<!--[if lte IE 7]><link rel="stylesheet" type="text/css" href="includes/cssie.css" /><![endif]-->

mais j'ai l'impression que, même sous ie7, ... le CSS pour les autres navigateurs est pris en compte !

je m'explique:

je suis en train d'essayer de solutionner l'éternel pb de chevauchement de DIV sous ie7, ie6 ...

afin de clarifier les choses, je supprime les attributs d'arrondis et d'ombré dans la feuille dédiée à ie et ... j'ai quand même mes arrondis et mes ombrés !! étonnant non ?

les modif que j'apporte à la feuille pour ie apparaissent bien mais est-ce que le navigateur pourrait piocher dans 2 feuilles ??

merci pour vos lumières.

Eric

Partager ce message


Lien à poster
Partager sur d’autres sites
Partagez cette page :

>> Nouveau : Découvrez la marketplace d'Achat / Vente de Sites !

Je galère toujours avec les css, mais :

Pour ie7-, le style appliqué sera celui de css.css si il n'est pas (ou mal) redéfini dans cssie.css

Est-ce que tu n'a pas un problème de priorité ?

Partager ce message


Lien à poster
Partager sur d’autres sites
Partagez cette page :

Rien de plus logique.

Avec ton code, un navigateur autre que ie7 (et inférieur) chargent une seul fichier css : includes/css.css

Par contre, ie7 (et inférieur) charge deux fichier :

- D'abord includes/css.css

- Ensuite includes/cssie.css

Les règles de styles s'appliquent alors en cascade (c'est le principe du CSS).

Si tu ne veux pas que ie7 (et inférieur) charge css.css, je crois qu'il faut mettre quelquechose comme:

<!--[if !IE]><link rel="stylesheet" type="text/css" href="includes/css.css" /><![endif]-->

<!--[if gte IE 8]><link rel="stylesheet" type="text/css" href="includes/css.css" /><![endif]-->

<!--[if lte IE 7]><link rel="stylesheet" type="text/css" href="includes/cssie.css" /><![endif]-->

Avec ca, les navigateurs non IE chargent css.css - Ensuite, ie8 et supérieur chargent également css.css - Et ie7 et inferieur chargent cssie.css

Mais ca ne me semble pas avoir beaucoup d'interêt.

Le mieux me semble en effet de charger un fichier unique pour tous les navigateur, y compris ie7 (et inférieur) pour ensuite charger un CSS qui "répare" les styles spécifiquement pour ie7 (et inférieur)

Partager ce message


Lien à poster
Partager sur d’autres sites
Partagez cette page :

Hello,

comme le dit plan rencontre,

ta feuille iecss ne doit être utilisée que comme "complément" à ta feuille de style de base et non en remplacement sinon les deux seront prises en compte.

Partager ce message


Lien à poster
Partager sur d’autres sites
Partagez cette page :

Merci pour vos réponses .. je n'avais pas compris ce principe de cascades (mode boulet !!) je ne travaille pas souvent avec plusieurs feuilles de style !

je vais partir sur ce principe de complément (ce qui procure un avantage de lisibilité en + !!)

une question cependant ..

si je précise, par exemple: margin-right:100px sur ma feuille principale (css) et margin-right:120px (cssie) sur la complémentaire ... une priorité est-elle faite au dernier attribut fixé ?

Partager ce message


Lien à poster
Partager sur d’autres sites
Partagez cette page :

Re...

une question complémentaire mais qui va dans le même sens:

si j'ai appliqué des attributs sur ma feuille ie7+ et autres navigateurs (css.css)

-webkit-box-shadow: #333 5px 5px 5px;

     -moz-box-shadow: #333 5px 5px 5px;

     box-shadow: #333 5px 5px 5px;

     behavior: url(includes/PIE.htc);

et que je veuille les "annuler" sur ma feuille ie7- (cssie.css) ... existe t-il une solution ?

ou faut-il une feuille de base sans ces attributs + une feuille dédiés à ie7+ et autres navigateurs avec ces attributs (donc, dans ce cas de figure, 3 feuilles de style)

Merci pour vos lumières

Eric

Partager ce message


Lien à poster
Partager sur d’autres sites
Partagez cette page :

Tu devrais pouvoir annuler ces styles en re-specifiant les attribut à "none" ou équivalent.

Si ca ne amrche pas, une autre solution, plutôt que de charger trop de css diffèrent est d'utiliser le script pour ajouter une class à ton body selon le navigateur.

Si je ne me trompe pas, c'est une des choses que fait l'excellent htmlboilerplate qui pourrait peut-être te servir...

Partager ce message


Lien à poster
Partager sur d’autres sites
Partagez cette page :

Logiquement,

behavior: none;

box-shadow: none;

devrait fonctionner

Pour bow shadow, je teste sur http://jsfiddle.net/edhqM/ et ca fonctionne...

Pour behavior, je trouve une réponse sur stackoverflow qui donne effectivement "none"

Si ca ne marche pas, tu as peut être toujours un soucis sur les priorités CSS qui fait que ton premier style reste en place.

Partager ce message


Lien à poster
Partager sur d’autres sites
Partagez cette page :

Ajouter un commentaire :

-

Créer un compte

en 3 secondes

INSCRIPTION

Se connecter

ici

CONNEXION

Connexion  

Partagez cette page :



© WebFrance 2017 - Contact - Annonceurs - Conditions générales

×

Nouveau : Marketplace WebFrance

2.png

Vente de sites internet, domaines, applications...