Maison interface Web tutoriel CSS Problèmes de compatibilité du navigateur CSS définis

Problèmes de compatibilité du navigateur CSS définis

Apr 05, 2017 am 10:39 AM

La compatibilité du CSS avec les navigateurs donne parfois mal à la tête aux gens. Peut-être que lorsque vous comprendrez les techniques et les principes, ce ne sera pas difficile d'avoir rassemblé les méthodes de compatibilité d'IE7, 6 et Fireofx sur Internet et de les trier pour la transition. vers web2.0, veuillez essayer d'écrire du code au format xhtml, et DOCTYPE affecte le traitement CSS En tant que norme W3C, DOCTYPE doit être ajouté

Conseils CSS.

Problème de centrage vertical de 1.p

vertical-align:middle; Augmentez l'espacement des lignes à la même hauteur que l'ensemble p line-height:200px; Insérez ensuite le texte et il sera centré verticalement. L'inconvénient est que le contenu doit être contrôlé sans sauts de ligne

2. Le problème du doublement de la marge
 
Si p est défini sur float, la marge définie sous IE sera doublée. Il s'agit d'un bug qui existe dans ie6. La solution est d'ajouter display:inline
Par exemple :
<#p id="imfloat"> Le CSS correspondant est
#JeFloat{ 
flotter:gauche
margin:5px;/*Sous IE, cela signifie 10px*/
display:inline;/*Sous IE, il sera compris comme 5px*/}


3. Double distance générée par l'image flottante  
#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 : la caractéristique de l'élément block est qu'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ément block la caractéristique) ; de l'élément en ligne est celui-là, et les autres éléments sont sur la même ligne et ne peuvent pas être contrôlés (éléments intégrés
); #box{ display:block; //Peut simuler des éléments en ligne en tant qu'éléments de bloc display:inline; //Obtenir l'effet de disposition dans la même ligne display:table


4 IE et width et height; Question
IE ne reconnaît pas la définition de min-, mais en fait, il traite la largeur et la hauteur normales comme s'il existait un min. C'est 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, la largeur et la hauteur ne sont pas définies du tout. sous IE. 
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{ largeur : 80 px ; hauteur : 35 px ;}html>body #box{ width : auto ; hauteur : auto ; largeur minimale : 80 px; hauteur min : 35 px ;}


5. La largeur minimale de la page
  min-width est une commande CSS très pratique. Elle peut spécifier que la largeur minimale d'un élément ne peut pas être inférieure à une certaine largeur, afin que la disposition soit toujours correcte. Mais IE ne le reconnaît pas et traite en fait la largeur comme la largeur minimale. Afin de rendre cette commande également disponible sur IE, vous pouvez mettre un

sous la balise , puis spécifier une classe pour p, puis concevoir le CSS comme ceci :
#container{ min-width: 600px; width:expression(document.body.clientWidth < 600? "600px": "auto" );}
La première largeur minimale est normale ; mais la largeur de la deuxième ligne utilise Javascript, qui n'est reconnu que par IE, ce qui rendra également votre document HTML moins formel. Il implémente en fait la largeur minimale via le jugement Javascript.


6.p Le texte flottant d'IE produit un bug de 3 pixels
L'objet de gauche flotte et celui de droite est positionné en utilisant la marge gauche du patch extérieur. Le texte à l'intérieur de l'objet de droite aura un espacement de 3 pixels par rapport à la gauche
. #box{ float:gauche largeur:800px;}
#left{ float:gauche; largeur:50%;}
#right{ width:50%;}
*html #left{ margin-right:-3px; //Cette phrase est la clé}




7. Problème de cache-cache dans IE


Lorsque l'application p est complexe, il y a des liens dans chaque colonne, et le problème de cache-cache se produit facilement à ce moment-là. 
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.
8.fermeture flottante ; flotteur transparent ; hauteur adaptative ;


①Par exemple : <#p id=”floatA” ><#p id=”floatB” ><#p id=”NOTfloatC” >NOTfloatC ici ne veut pas continuer à traduire, mais veut y aller en bas de la rangée. (Les attributs de floatA et floatB ont été définis sur float:left;)
Ce code fonctionne bien dans IE, le problème vient de FF. La raison en est que NOTfloatC n'est pas une étiquette flottante et que l'étiquette flottante doit être fermée. Ajoutez <#p class=”floatB”> <#p class=”NOTfloatC”> entre Il ne peut pas y avoir de relation imbriquée entre p frères et sœurs avec des attributs float, sinon une exception se produira. Et définissez le style clair comme suit : .clear{ clear:both;}

② En tant que wrapper externe p, ne définissez pas de hauteur fixe. Afin de permettre à la hauteur de s'adapter automatiquement, ajoutez overflow:hidden dans le wrapper lorsqu'il contient une boîte flottante, l'adaptation automatique de la hauteur n'est pas valide sous IE et IE devrait le faire. être déclenché à ce moment-là. L'attribut privé de mise en page (le maléfique IE !) peut être effectué en utilisant zoom:1 ;, obtenant ainsi la compatibilité.
Par exemple, un wrapper est défini comme suit :
.colwrapper{ overflow:hidden; zoom:1; margin:5px auto;}

③Pour la composition, la description CSS que nous utilisons le plus est probablement float:left. Parfois, nous devons créer un arrière-plan unifié derrière le float p dans la colonne n, par exemple :
.

Par exemple, nous souhaitons définir l'arrière-plan de la page sur bleu afin que la couleur d'arrière-plan des trois colonnes soit bleue. Cependant, nous constaterons que lorsque le centre gauche s'étend vers le bas, la page enregistre en fait la même hauteur. se pose. La raison est que la page n'est pas un attribut float et que notre page ne peut pas être définie pour flotter car elle doit être centrée, nous devrions donc la résoudre comme ceci

Intégrez ensuite un float à gauche et la largeur est de 100% p pour résoudre le problème

④Fermeture flottante universelle (très important !)
Pour le principe du clear float, veuillez vous référer à [Comment effacer les flotteurs sans balisage structurel]. Ajoutez le code suivant au Global CSS et ajoutez class="clearfix" au p qui doit être fermé.
/* Effacer le correctif */
.clearfix:after { content:"."; display:block height:0; .clearfix { display:inline-block; }
/* Masquer depuis IE Mac */
.clearfix {display:block;}
/* Fin du masquage depuis IE Mac */
/* fin de clearfix */
Ou définissez-le comme ceci : .hackbox{ display:table; //Affiche l'objet sous forme de table au niveau de l'élément de bloc}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

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

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

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)

Vue 3 Vue 3 Apr 02, 2025 pm 06:32 PM

Il est sorti! Félicitations à l'équipe Vue pour l'avoir fait, je sais que ce fut un effort massif et une longue période à venir. Tous les nouveaux documents aussi.

Un peu sur CI / CD Un peu sur CI / CD Apr 02, 2025 pm 06:21 PM

Je dirais que "Site Web" correspond mieux que "Application mobile" mais j'aime ce cadrage de Max Lynch:

Pouvez-vous obtenir des valeurs de propriété CSS valides du navigateur? Pouvez-vous obtenir des valeurs de propriété CSS valides du navigateur? Apr 02, 2025 pm 06:17 PM

J'ai eu quelqu'un qui écrivait avec cette question très légitime. Lea vient de bloguer sur la façon dont vous pouvez obtenir les propriétés CSS valides elles-mêmes du navigateur. C'est comme ça.

Utilisation de Markdown et de la localisation dans l'éditeur de blocs WordPress Utilisation de Markdown et de la localisation dans l'éditeur de blocs WordPress Apr 02, 2025 am 04:27 AM

Si nous devons afficher la documentation à l'utilisateur directement dans l'éditeur WordPress, quelle est la meilleure façon de le faire?

Cartes empilées avec un positionnement collant et une pincée de sass Cartes empilées avec un positionnement collant et une pincée de sass Apr 03, 2025 am 10:30 AM

L'autre jour, j'ai repéré ce morceau particulièrement charmant sur le site Web de Corey Ginnivan où une collection de cartes se cassent les uns sur les autres pendant que vous faites défiler.

Comparaison des navigateurs pour une conception réactive Comparaison des navigateurs pour une conception réactive Apr 02, 2025 pm 06:25 PM

Il existe un certain nombre de ces applications de bureau où l'objectif montre votre site à différentes dimensions en même temps. Vous pouvez donc, par exemple, écrire

Comment utiliser la grille CSS pour les en-têtes et pieds de page collants Comment utiliser la grille CSS pour les en-têtes et pieds de page collants Apr 02, 2025 pm 06:29 PM

CSS Grid est une collection de propriétés conçues pour faciliter la mise en page qu'elle ne l'a jamais été. Comme tout, il y a un peu une courbe d'apprentissage, mais Grid est

Fontes variables de polices Google Fontes variables de polices Google Apr 09, 2025 am 10:42 AM

Je vois que Google Fonts a déployé un nouveau design (tweet). Comparé à la dernière grande refonte, cela semble beaucoup plus itératif. Je peux à peine faire la différence

See all articles