Restrictions IE et solutions sur les feuilles de style CSS
Il existe quatre manières courantes d'associer des documents HTML à CSS :
-
Utiliser des balises de lien
<link rel="stylesheet" type="text/css" href="sheet.css" />
Copier après la connexion Utilisez l'élément de style
<style type="text/css"> body{background:#fff;} h1{font-size:2em;} </style>
Copier après la connexionUtilisez la directive @import
<style type="text/css"> @import url(sheet1.css); @import "sheet2.css"; </style>
Copier après la connexionStyle en ligne utilisant l'attribut style
<p style="color:#f00;">这是红色的字</p>
Copier après la connexion
Dans les applications réelles, le style en ligne utilisant l'attribut style n'est pas recommandé. XHTML1.1 a déconseillé son utilisation. dans la norme. La raison est simple. Cette méthode n'est pas bien meilleure que la balise font et affaiblit l'avantage du CSS pour contrôler de manière centralisée l'apparence de l'ensemble du document. Les trois premières méthodes utilisent des balises de lien et des balises de style et présentent les limitations suivantes dans IE (y compris IE6, IE7 et IE8 beta1) :
Il n'y a que les 31 premiers liens dans le document Ou le CSS associé à la balise style peut être appliqué.
A partir du 32ème, le CSS associé à sa balise sera invalide. La documentation officielle d'IE Toutes les balises de style après les 30 premières balises de style sur une page HTML ne sont pas appliquées dans Internet Explorer mentionne également cette limitation, y compris cette limitation dans les fichiers .xml utilisant .xsl. Mais il semble que la mauvaise quantité ait été écrite. Veuillez regarder IE :
Exemple 1 : 34 balises de style sont appliquées en même temps
Exemple 2 : 1 balise de style et 34 balises de lien sont appliquées en même temps
Une balise de style n'est valable que pour les 31 premières
@import
instructions.Ignorer à partir de la 32ème directive @import. Veuillez consulter :
Exemple 3 : Utilisez la directive
@import
34 fois dans une balise de style.Seules les 31 premières directives @import d'un fichier css sont effectivement appliquées.
Ignorer à partir de la 31ème directive @import. Veuillez consulter :
Exemple 4 : utilisez la balise de lien pour introduire un fichier CSS qui utilise la directive
@import
34 foisExemple 5 : utilisez la balise de style pour introduire un fichier CSS qui utilise la directive
@import
34 fois FichierExemple 6 : Utiliser les balises de lien et de style pour introduire un fichier CSS qui utilise respectivement plus de 31
@import
instructionsUn fichier CSS ne peut pas dépasser 288 Ko ?
Cette nouvelle provient de la limite de taille de fichier CSS d'Internet Explorer.
La limite d'empilement sous la commande @import ne peut pas dépasser 4 couches
Lors de l'introduction de fichiers CSS via la commande @import sous IE, la couche 5 deviendra invalide. Cette limite provient de la limite Cascade via la règle @import. En effet, en raison de la prise en charge imparfaite des navigateurs pour l'imbrication multi-niveaux, même si vous devez utiliser la directive @import pour introduire les fichiers CSS, ne dépassez pas 2 niveaux.
Les restrictions d'IE sur CSS ne seront pas rencontrées dans la plupart des cas. Même si vous rencontrez la meilleure solution, vous devez modifier le fichier CSS manuellement ou via un programme back-end fusionné avec la réponse. balises, minimiser le nombre de requêtes http est le premier principe pour optimiser le rendu des pages.
Dans IE, la valeur des styles en ligne et intégrés peut être modifiée via l'objet document.styleSheets
(pris en charge par Firefox, Opera9 et Safari3.1). Cet objet n'est disponible que lorsque le document contient des éléments de style ou de lien. En effet, en utilisant document.styleSheets.length
vous pouvez voir que la valeur maximale sous IE est de 31. Ce qui suit utilise Javascript pour fusionner les balises link
et style
afin de résoudre les limitations sous IE :
var fnMergeStyleSheet = function(){ if(!document.styleSheets){ return; } var aSheet = document.styleSheets, aStyle = document.getElementsByTagName('style'), aLink = document.getElementsByTagName('link'); if(aStyle.length + aLink.length < 32 || !aSheet[0].cssText){ //document.styleSheets.cssText 只有IE支持 return; } var aCssText = [],aCloneLink = []; //把style标签中的样式存入,然后删掉该标签,但保留第一个 //因为由getElementsByTagName方法返回值是nodeList,所以删除时循环用倒序 for(var i=aStyle.length-1;i>-1;--i){ var o = aStyle[i]; aCssText.push(o.innerHTML); if(i>0){ o.parentNode.removeChild(o); } } //在IE中只有在31之内的link标签才能通过其styleSheet.cssText获取样式 //无法的获取复制到一个数组aCloneLink中 for(var i=aLink.length-1;i>-1;--i){ var o = aLink[i]; if(o.getAttribute && o.getAttribute('rel')==='stylesheet'){ if(o.styleSheet){ aCssText.push(o.styleSheet.cssText); }else{ aCloneLink.push(o.cloneNode(true)); } if(i>0){ o.parentNode.removeChild(o); } } } var oHead = document.getElementsByTagName('head')[0]; //通过前面的删除,前31个link或者style标记最多只剩下2个 //通过重新增加link节点的方法激活其styleSheet属性,从而获取样式 for(var i = aCloneLink.length-1;i>-1;--i){ var o = aCloneLink[i]; oHead.appendChild(o); aCssText.push(o.styleSheet.cssText); oHead.removeChild(o); } //把所有的样式都复制给第一个标签 aSheet[0].cssText += aCssText.join(''); }
Ce qui précède n'est qu'une solution simple et approximative. Pour une démonstration, veuillez voir l'exemple 1 et. Exemple 2. Les domaines qui peuvent être améliorés sont :
ne prend pas en compte l'attribut
media
S'il y a plusieursmedia
, ils doivent être fusionnés séparément. 🎜> marquélink
n'est pas pris en compte. Mais je recommande d'écrire les styles correspondants dans le même fichier via la directiverel="alternate stylesheet"
, ce qui peut au moins réduire le nombre de connexions HTTP.@media
- ne résout pas le problème de la limite de 31 fois de l'instruction @import. En fait, vous pouvez extraire sa valeur href puis l'activer. Cependant, dans les applications pratiques, il est recommandé d'utiliser la balise
pour remplacer la directive @import, car la directive
link
dans IE équivaut à écrire la balise de lien au bas du document, ce qui provoquera un style instantané problèmes lors du chargement de la page IE5/6 Nom scientifique Le bug appelé "Flash of Unstyled Content" (FOUC en abrégé) peut bien sûr être évité en plaçant un lien ou un élément de script dans l'en-tête du document.@import
- De manière générale, toutes les balises
ou
link
qui apparaissent sur la page sont susceptibles d'avoir plusieurs éléments identiques. Vous pouvez supprimer les mêmes éléments avant de fusionner aCssText avec. réduisez la quantité de code.style
Si vous n'utilisez pas les éléments de style existants dans le DOM pour ajouter du code de style directement via l'attribut cssText, mais créez un nouvel élément de style à ajouter, soyez assurez-vous de faire attention en premier. Ajoutez d'abord le nouvel élément de style au DOM, puis ajoutez le code de style via l'attribut cssText. Au contraire, le code de style ajouté semble être analysé par l'analyseur de style d'IE6 avant d'être ajouté, donc !imporant et le hack seront invalides. Veuillez consulter l'Exemple 7. Il n'est pas recommandé d'ajouter de nouveaux styles en ajoutant de nouveaux éléments de style, car cela peut facilement atteindre les limites d'IE.
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Comment utiliser le bouton bootstrap? Introduisez Bootstrap CSS pour créer des éléments de bouton et ajoutez la classe de bouton bootstrap pour ajouter du texte du bouton

Pour ajuster la taille des éléments dans Bootstrap, vous pouvez utiliser la classe de dimension, qui comprend: ajuster la largeur: .col-, .w-, .mw-ajustement Hauteur: .h-, .min-h-, .max-h-

Il existe plusieurs façons d'insérer des images dans Bootstrap: insérer directement les images, en utilisant la balise HTML IMG. Avec le composant d'image bootstrap, vous pouvez fournir des images réactives et plus de styles. Définissez la taille de l'image, utilisez la classe IMG-FLUID pour rendre l'image adaptable. Réglez la bordure en utilisant la classe IMG-border. Réglez les coins arrondis et utilisez la classe Roundée IMG. Réglez l'ombre, utilisez la classe Shadow. Redimensionner et positionner l'image, en utilisant le style CSS. À l'aide de l'image d'arrière-plan, utilisez la propriété CSS d'image d'arrière-plan.

Réponse: Vous pouvez utiliser le composant de sélecteur de date de bootstrap pour afficher les dates dans la page. Étapes: Présentez le framework bootstrap. Créez une boîte d'entrée de sélecteur de date dans HTML. Bootstrap ajoutera automatiquement des styles au sélecteur. Utilisez JavaScript pour obtenir la date sélectionnée.

Il existe deux façons de créer une ligne divisée bootstrap: en utilisant la balise, qui crée une ligne divisée horizontale. Utilisez la propriété CSS Border pour créer des lignes de fractionnement de style personnalisées.

Pour configurer le framework Bootstrap, vous devez suivre ces étapes: 1. Référez le fichier bootstrap via CDN; 2. Téléchargez et hébergez le fichier sur votre propre serveur; 3. Incluez le fichier bootstrap dans HTML; 4. Compiler les sass / moins au besoin; 5. Importer un fichier personnalisé (facultatif). Une fois la configuration terminée, vous pouvez utiliser les systèmes, composants et styles de grille de Bootstrap pour créer des sites Web et des applications réactifs.

Pour vérifier les dates dans Bootstrap, suivez ces étapes: introduisez les scripts et styles requis; initialiser le composant de sélecteur de date; Définissez l'attribut Data-BV-Date pour activer la vérification; Configurer les règles de vérification (telles que les formats de date, les messages d'erreur, etc.); Intégrez le cadre de vérification de bootstrap et vérifiez automatiquement l'entrée de date lorsque le formulaire est soumis.

Bootstrap fournit un guide simple pour configurer les barres de navigation: l'introduction de la bibliothèque bootstrap pour créer des conteneurs de barre de navigation Ajouter l'identité de marque Créer des liens de navigation Ajouter d'autres éléments (facultatif) Styles d'ajustement (facultatif)
