Maison interface Web tutoriel CSS Le hack CSS est une méthode générale pour obtenir une compatibilité parfaite CSS avec l'échange IE6/IE7/FF_Experience

Le hack CSS est une méthode générale pour obtenir une compatibilité parfaite CSS avec l'échange IE6/IE7/FF_Experience

May 16, 2016 pm 12:06 PM
css hack 兼容 完美

Il est courant que CSS soit compatible avec différents navigateurs. Il existe des tutoriels partout sur Internet. Le contenu suivant n'est pas trop nouveau et est purement un résumé personnel. J'espère qu'il sera utile aux débutants. 1. CSS HACK
Les deux méthodes suivantes peuvent résoudre presque tous les HACK aujourd'hui

1, !important

Avec la prise en charge par IE7 de !important, la méthode !important est désormais uniquement pour IE6. HACK. (Faites attention à l'écriture. N'oubliez pas que la position de la déclaration doit être effectuée à l'avance.)
width: 100px!important; */
largeur : 80px; /* IE6 */
}



2, IE6/IE77 pour FireFox
*+html et *html sont des balises spécifiques à IE, Firefox ne les prend pas en charge actuellement. Et *+html est une balise unique pour IE7
*+html HACK pour IE7 doit garantir la déclaration suivante en haut du HTML :



2. Fermeture flottante universelle

Pour le principe du flotteur clair, veuillez vous référer à [Comment effacer les flotteurs sans balisage structurel]
Ajoutez le code suivant au CSS global et ajoutez class="clearfix" au div qui doit être fermé. Cela fonctionne à chaque fois


3. Autres conseils de compatibilité

1. Définir le remplissage sur div sous FF entraînera une augmentation de la largeur et de la hauteur, mais pas IE. (peut être résolu avec !important)
2. Problème de centrage
1). Réglez la hauteur de la ligne à la même hauteur que le div actuel, puis passez vertical-align: middle. pour ne pas envelopper le contenu.)
2). pour définir display: block; (commun dans les balises de navigation)
4. La différence de compréhension de BOX entre FF et IE entraîne une différence de 2 pixels dans les divs définis sur float. Problèmes tels que le doublement de la marge sous IE. , La balise ul a un style de liste et un remplissage par défaut sous FF. Il est préférable de la déclarer à l'avance pour éviter des problèmes inutiles (courant dans les balises de navigation et les listes de contenu)
6. En tant que wrapper externe, ne définissez pas. la hauteur du div. Il est préférable d'ajouter overflow: caché pour obtenir une adaptabilité en hauteur
7. Concernant le curseur de la main : le pointeur est uniquement applicable à IE. styles pour Firefox ie6 ie7
Maintenant, la plupart d'entre eux utilisent !important pour pirater, et le test pour ie6 et Firefox peut s'afficher normalement Mais ie7 peut interpréter correctement !important, ce qui entraînera l'échec de l'affichage de la page. demande! Trouvez une épingle Un bon hack pour IE7 est d'utiliser "*+html". Maintenant, parcourez-le avec IE7 et il ne devrait y avoir aucun problème. Maintenant, écrivez un CSS comme celui-ci : #1 { color: #333; } /* Moz */ * html #1 { color: #666 } /* IE6 */ *+html #1 { color: #999; } /* IE7 */ Ensuite, la couleur de la police est affichée comme #333 sous Firefox, #666 sous IE6 et #999 sous IE7 . 2 Problèmes de centrage dans la mise en page CSS Les principales définitions de style sont les suivantes : body {TEXT-ALIGN: center;} #center {MARGIN-RIGHT: auto; MARGIN -LEFT: auto; } Explication : Définissez d'abord TEXT-ALIGN : center dans l'élément parent ; cela signifie que le contenu de l'élément parent est centré pour IE, ce paramètre est suffisant ; Mais il ne peut pas être centré dans Mozilla. La solution est d'ajouter "MARGIN-RIGHT: auto;MARGIN-LEFT: auto;" lors de la définition de l'élément enfant A noter que si vous souhaitez utiliser cette méthode pour centrer la page entière, il est recommandé de ne pas pour définir dans un DIV, vous pouvez diviser plusieurs divs en séquence Définissez simplement MARGIN-RIGHT: auto;MARGIN-LEFT: auto;

3 Différentes interprétations du modèle de boîte

#box{ width:600px; //for ie6.0- width:500px //for ff+ie6.0}
# box{ width:600px!important //for ff width:600px; //for ff+ie6.0 width /**/:500px; //for ie6.0-}

4 Double généré par flottant ie Distance

#box{ float:left; width:100px; margin:0 0 0 100px //Dans ce cas, IE générera une distance de 200px display:inline; 🎜 > Parlons en détail des deux éléments block et inline. Les caractéristiques de l'élément Block sont : il commence toujours sur une nouvelle ligne, et la hauteur, la largeur, la hauteur de la ligne et les marges peuvent toutes être contrôlées (éléments block) ; les caractéristiques de l'élément Inline sont : et Les autres éléments sont sur la même ligne,... ne peuvent pas être contrôlés (éléments en ligne

#box{ display:block; //Peut simuler des éléments en ligne comme des éléments de bloc) ; display:inline; //Obtenir la même chose L'effet de la disposition des lignes display:table

IE ne reconnaît pas la définition de min-, mais en fait, il traite la largeur et la hauteur normales comme s'il y avait min. Cela posera un gros problème. Si vous utilisez uniquement la largeur et la hauteur,
ces deux valeurs​​ne changeront pas dans un navigateur normal. Si vous utilisez uniquement min-width et min-height, cela équivaut à ne pas le faire. définir la largeur et la hauteur sous IE élevé.
Par exemple, si vous souhaitez définir une image de fond, cette largeur est plus importante. Pour résoudre ce problème, vous pouvez faire ceci :
#box{ width: 80px; height: 35px;}html>body #box{ width: auto; min-width: 80px min-height: 35px; ;}

6 Largeur minimale de la page

min-width est une commande CSS très pratique Elle peut spécifier que la largeur minimale de l'élément ne peut pas être inférieure à une certaine largeur, de sorte que la mise en page peut toujours être correcte. Mais IE ne le reconnaît pas,
et il traite en fait la largeur comme la largeur minimale. Afin de faire fonctionner cette commande sur IE, vous pouvez mettre un
sous la balise

, puis spécifier une classe pour le div : Ensuite, le CSS est conçu comme ceci :
#container{ min-width : 600px; width:expression(document.body.clientWidth La première min-width est normale mais la largeur de la ligne 2 utilise Javascript, qui uniquement Seul IE peut le reconnaître, ce qui rendra également votre document HTML moins formel. Il implémente en fait la largeur minimale via le jugement Javascript.
7 Effacer les flottants

.hackbox{ display:table; //Affiche l'objet sous forme de table au niveau de l'élément de bloc} ou .hackbox{ clear:both;}
Ou ajoutez : after (Pseudo objet), définit le contenu qui apparaît après l'objet, généralement utilisé en conjonction avec le contenu. IE ne prend pas en charge ce pseudo-objet, et les navigateurs non-Ie le prennent en charge
Cela n'affecte donc pas les navigateurs IE/WIN. . La chose la plus gênante à ce sujet... #box:after{ content: "."; display: block; height: 0; clear: Both; un bug de 3 pixels

L'objet de gauche flotte et le côté droit est positionné en utilisant la marge gauche du patch extérieur. Le texte dans l'objet de droite aura un espacement de 3 pixels par rapport à la gauche
<.>#box{ float :left; width:800px;}#left{ float:left; width:50%;}#right{ width:50%;}*html #left{ margin-right:-3px; Cette phrase est la clé}
Code HTML



9 Sélecteur d'attribut (ceci n'est pas considéré comme compatible, c'est un bug dans css caché)
p[id]{}div[id]{}
Ceci est masqué pour IE6.0 et les versions inférieures, et est utilisé par FF et OPera
Il y a encore une différence entre le sélecteur d'attribut et le sous-sélecteur, sous-sélecteur La portée du sélecteur est de forme réduite et la portée du sélecteur d'attribut est relativement grande. Par exemple, dans p[id], toutes les balises p avec des identifiants sont identiques. style.

10 Problème de cache-cache dans IE

Lorsque l'application div est complexe et qu'il y a des liens dans chaque colonne, le problème de cache-cache se produit facilement dans DIV.
Certains contenus ne peuvent pas être affichés. Lorsque la souris sélectionne cette zone, on constate que le contenu est bien sur la page.
Solution : utilisez l'attribut line-height pour #layout ou utilisez une hauteur et une largeur fixes pour #layout. Gardez la structure de la page aussi simple que possible.

11 Non-adaptation de la hauteur

La non-adaptation de la hauteur signifie que lorsque la hauteur de l'objet de la couche interne change, la hauteur de la couche externe ne peut pas être automatiquement ajustée, en particulier lorsque l'objet de la couche interne utilise
marge ou heure paddign.
Exemple :



Contenu dans l'objet p

CSS : #box {background-color:#eee;}

# box p {margin-top: 20px; margin-bottom: 20px; text-align:center; }
Solution : ajoutez 2 objets div vides au-dessus et en dessous du code CSS de l'objet P : .1{height:0px ;overflow : Hidden;} Ou ajoutez l'attribut border au DIV.
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment faire une barre de progression avec H5 Comment faire une barre de progression avec H5 Apr 06, 2025 pm 12:09 PM

Créez une barre de progression à l'aide de HTML5 ou CSS: créez un conteneur de barre de progression. Définissez la largeur de la barre de progression. Créez des éléments internes de la barre de progrès. Définit la largeur des éléments internes de la barre de progression. Utilisez la bibliothèque JavaScript, CSS ou Progress Bar pour afficher les progrès.

Comment régler la bordure de la table H5 Comment régler la bordure de la table H5 Apr 06, 2025 pm 12:18 PM

Dans HTML, définissez les bordures de la table H5 via CSS: introduisez une feuille de style CSS, style la bordure en utilisant les attributs de bordure (y compris les sous-propriétés de la largeur de la bordure, de la bordure et de la bordure des bordures) et appliquez le style aux éléments de la table. De plus, des styles de frontières spécifiques peuvent être définis, tels que la frontière, la frontière droite, la frontière et la frontière-gauche.

Comment exécuter le projet H5 Comment exécuter le projet H5 Apr 06, 2025 pm 12:21 PM

L'exécution du projet H5 nécessite les étapes suivantes: Installation des outils nécessaires tels que le serveur Web, Node.js, les outils de développement, etc. Créez un environnement de développement, créez des dossiers de projet, initialisez les projets et écrivez du code. Démarrez le serveur de développement et exécutez la commande à l'aide de la ligne de commande. Aperçu du projet dans votre navigateur et entrez l'URL du serveur de développement. Publier des projets, optimiser le code, déployer des projets et configurer la configuration du serveur Web.

Comment faire l'icône H5 Click Comment faire l'icône H5 Click Apr 06, 2025 pm 12:15 PM

Les étapes pour créer une icône H5 Click comprennent: la préparation d'une image source carrée dans le logiciel d'édition d'image. Ajoutez l'interactivité dans l'éditeur H5 et définissez l'événement Click. Créez un hotspot qui couvre l'icône entière. Définissez l'action des événements de clic, tels que le saut sur la page ou le déclenchement de l'animation. Exporter H5 documents sous forme de fichiers HTML, CSS et JavaScript. Déployez les fichiers exportés vers un site Web ou une autre plate-forme.

Comment faire des fenêtres pop-up avec H5 Comment faire des fenêtres pop-up avec H5 Apr 06, 2025 pm 12:12 PM

H5 ÉTAPES DE CRÉATION DE LA FINES POP-UP: 1. Déterminez la méthode de déclenchement (cliquez, temps, sortie, défilement); 2. Conception du contenu (titre, texte, bouton d'action); 3. Set Style (taille, couleur, police, arrière-plan); 4. Implémentation du code (HTML, CSS, JavaScript); 5. Tester et déploiement.

Comment résoudre le problème de compatibilité H5 Comment résoudre le problème de compatibilité H5 Apr 06, 2025 pm 12:36 PM

Les solutions aux problèmes de compatibilité H5 comprennent: l'utilisation de conception réactive qui permet aux pages Web d'ajuster les dispositions en fonction de la taille de l'écran. Utilisez des outils de test de croisement pour tester la compatibilité avant la libération. Utilisez Polyfill pour fournir un support pour les nouvelles API pour les navigateurs plus âgés. Suivez les normes Web et utilisez du code efficace et des meilleures pratiques. Utilisez des préprocesseurs CSS pour simplifier le code CSS et améliorer la lisibilité. Optimiser les images, réduire la taille de la page Web et accélérer le chargement. Activez HTTPS pour assurer la sécurité du site Web.

Comment faire le menu déroulant H5 Comment faire le menu déroulant H5 Apr 06, 2025 pm 12:24 PM

Le menu déroulant Create H5 comprend les étapes suivantes: Créer une liste déroulante, appliquer un style CSS, ajouter des effets de basculement et gérer les sélections d'utilisateurs. Les étapes spécifiques sont les suivantes: Utilisez HTML pour créer une liste déroulante. Utilisez CSS pour ajuster l'apparence du menu déroulant. Utilisez JavaScript ou CSS pour réaliser l'effet de commutation. Écoutez les événements de changement pour gérer les sélections d'utilisateurs.

Comment faire la barre de progrès H5 Comment faire la barre de progrès H5 Apr 06, 2025 am 11:54 AM

Il existe deux façons de faire une barre de progression H5: utiliser des éléments de barre de progression HTML et utiliser JavaScript pour créer une barre de progression. La méthode de l'élément de barre de progression HTML consiste à créer un élément de barre de progression et à définir sa valeur maximale et actuelle, tandis que la méthode JavaScript comprend la création d'un conteneur de barre de progression et une fonction qui met à jour la barre de progression.

See all articles