Maison interface Web tutoriel CSS Comment CSS résout le problème de compatibilité du texte sous différents navigateurs

Comment CSS résout le problème de compatibilité du texte sous différents navigateurs

Apr 03, 2020 am 09:01 AM
css Navigateur

Comment CSS résout le problème de compatibilité du texte sous différents navigateurs

Objectif :

css pour obtenir un alignement de texte compatible sous différents navigateurs.

Dans la mise en page frontale du formulaire, nous devons souvent aligner le texte d'invite de la zone de texte aux deux extrémités, par exemple :

Comment CSS résout le problème de compatibilité du texte sous différents navigateurs

Processus de solution :

1. La première chose qui vient à l'esprit est de savoir si le problème peut être résolu directement avec css

css

.test-justify {
    text-align: justify;
}

html

<div class="test-justify">
       测试文本
</div>

Comment CSS résout le problème de compatibilité du texte sous différents navigateurs

D'accord, text -align:justify était complètement inefficace, et je n'étais pas disposé à l'accepter, alors je l'ai testé avec un morceau de texte. L'effet est le suivant :

Comment CSS résout le problème de compatibilité du texte sous différents navigateurs

(tutoriel recommandé : Tutoriel CSS)

Il s'avère que cet attribut sert à aligner les deux extrémités du texte du paragraphe. Essayez ensuite text-align-. dernier : justifiez cet attribut

css

.test-justify {
    text-align: justify;
}

Comment CSS résout le problème de compatibilité du texte sous différents navigateurs

L'effet est obtenu, mais l'inconvénient est qu'il est totalement incompatible avec les navigateurs IE et Safari.

2. Alors réfléchissez-y, puisqu'il y a des problèmes de compatibilité dans l'implémentation ci-dessus, pouvez-vous écrire des classes CSS distinctes pour 2, 3, 4, etc. des textes d'une telle longueur, car la zone de texte invite le texte de la forme n'est pas non plus beaucoup.

css

div {
    width: 100px;
}
.w2 {
    letter-spacing: 2em;
}
.w3 {
    letter-spacing: 0.5em;
}

html

<div class="w2">测试</div>
<div class="w3">测试了</div>
<div>测试来了</div>

Comment CSS résout le problème de compatibilité du texte sous différents navigateurs

Cette solution semble pouvoir résoudre le problème et devrait convenir à la plupart des scénarios, mais Malheureusement, il n'est pas vraiment aligné aux deux extrémités et il ne peut toujours pas répondre aux besoins des vitrines spéciales. Nous allons le laisser tranquille et continuer à essayer.

2. Ce qui précède est une implémentation purement CSS. Voyons ensuite si la combinaison de CSS et dom peut créer une solution unifiée.

html

<div class="test-justify">
    测 试 文 本
    <span></span>
</div>

css

.test-justify {
    text-align: justify;
}
span {
    display:inline-block;
    padding-left:100%;
}

Comment CSS résout le problème de compatibilité du texte sous différents navigateurs

C'est un peu excitant d'y penser, et c'est parfaitement compatible avec IE et Safari This. solution En fait, il s'agit d'une extension du schéma d'alignement du premier paragraphe, utilisant des espaces pour forcer la segmentation des mots, puis utilisant span pour forger la dernière ligne (test-justify n'alignera pas la dernière ligne).

Afin d'augmenter l'évolutivité, nous devons optimiser cette solution, car dans la plupart des cas, le texte est chargé depuis le backend.

Par exemple : le nom d'affichage du modèle de chargement de la vue rasoir .net core est écrit

<label asp-for="Email"></label>

Ajoutez simplement un petit morceau de js et il devrait être compatible avec tous les scénarios.
css

div {
    width: 300px;
    border: 1px solid #000;
}
.test-justify {
    text-align: justify;
}
span {
    display:inline-block;
    padding-left:100%;
}

html

<div class="test-justify">
    测试文本
</div>

js

var $this = $(".test-justify")
, justifyText = $this.text().trim()
, afterText = "";
for (var i = 0; i < justifyText.length; i++) {
    afterText += justifyText[i] + " ";
}
afterText = afterText.trim() + "<span></span>";
$this.html(afterText).css({ "height": $this.height() / 2 + "px" });

Comment CSS résout le problème de compatibilité du texte sous différents navigateurs

D'accord, cette solution devrait fonctionner. Elle prend en charge navigateurs grand public, mais l'inconvénient est qu'il est réajusté via js, donc lorsque vous l'actualisez, vous verrez le processus d'alignement des deux extrémités du texte (flash). L'expérience n'est pas très bonne, alors rendez-la compatible.

Seuls IE et Safari ne prennent pas en charge text-align-last : justifiez ainsi appeler la dernière solution en ne considérant que ces deux navigateurs

function myBrowser() {
    var userAgent = navigator.userAgent;
 
    //判断浏览器版本  
    var isOpera = userAgent.indexOf("Opera") > -1; 
    var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; 
    var isEdge = userAgent.toLowerCase().indexOf("edge") > -1 && !isIE; 
    var isIE11 = (userAgent.toLowerCase().indexOf("trident") > -1 && userAgent.indexOf("rv") > -1);
 
    if (/[Ff]irefox(\/\d+\.\d+)/.test(userAgent)) {
        return "Firefox";
    } else if (isIE) {
        return "IE";
    } else if (isEdge) {
        return "IE";
    } else if (isIE11) {
        return "IE";
    } else if (/[Cc]hrome\/\d+/.test(userAgent)) {
        return "Chrome";
    } else if (/[Vv]ersion\/\d+\.\d+\.\d+(\.\d)* *[Ss]afari/.test(userAgent)) {
        return "Safari"
    } else {
        return "unknown"
    }
}
 
var browser = myBrowser();
if (browser == "IE" || browser == "Safari") {
    var $this = $(".test-justify")
        , justifyText = $this.text().trim()
        , afterText = "";
    for (var i = 0; i < justifyText.length; i++) {
        afterText += justifyText[i] + " ";
    }
    afterText = afterText.trim() + "<span></span>";
    $this.html(afterText).css({ "height": $this.height() / 2 + "px" })
}

Terminé !

Tutoriel vidéo recommandé : Tutoriel vidéo CSS

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

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.

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)

Comment s'inscrire sur l'échange d'Ouyi? Processus d'enregistrement des échanges d'Ouyi 2025 Comment s'inscrire sur l'échange d'Ouyi? Processus d'enregistrement des échanges d'Ouyi 2025 Aug 22, 2025 pm 07:33 PM

OKX est une plate-forme de trading d'actifs numériques de renommée mondiale, offrant aux utilisateurs des services de trading d'actifs numériques sûrs, stables et fiables et soutenant une variété d'actifs numériques grand public et émergents. Tout d'abord, téléchargez l'application OUYI via le lien officiel, cliquez sur le bouton Télécharger pour obtenir le package d'installation, permettez les autorisations nécessaires pendant l'installation et continuez à installer, ouvrez l'application pour enregistrer un compte, utilisez votre numéro de téléphone mobile ou votre adresse e-mail pour définir un mot de passe et terminer la vérification, et enfin effectuer l'authentification de l'identité pour assurer la sécurité du compte.

L'icône du plateau système de l'ordinateur est désordonnée, comment l'organiser? L'icône du plateau système de l'ordinateur est désordonnée, comment l'organiser? Aug 21, 2025 pm 08:12 PM

Masquer l'icône du plateau système sans affecter le fonctionnement du programme, ne supprime que l'affichage visuel; 2. Nettoyer complètement et désactiver les éléments de démarrage non essentiels via le gestionnaire de tâches; 3. Résolvez le gâchis et désinstallez le logiciel et développez l'habitude d'annuler le regroupement et la vérification pendant l'installation, afin d'atteindre les deux objectifs de rafraîchissement visuel et d'optimisation des ressources.

Comment créer un effet de verre en verre avec CSS Comment créer un effet de verre en verre avec CSS Aug 22, 2025 am 07:54 AM

Pour créer un effet de mimétisme en verre de CSS, vous devez utiliser le filtre de fond pour obtenir un flou d'arrière-plan, définir un arrière-plan translucide tel que RGBA (255,255,255,0.1), ajouter des bordures subtiles et des ombres pour améliorer le sens de la hiérarchie et vous assurer qu'il existe suffisamment de frontières et d'ombres pour améliorer le sens de la hiérarchie et garantir qu'il existe suffisamment de frontières visuelles derrière les éléments; 1. Utilisez le filtre de fond: Blur (10px) pour brouiller le contenu d'arrière-plan; 2. Utilisez RGBA ou HSLA pour définir le fond transparent pour contrôler le degré de transparence; 3. Ajouter 1PXSolidrgba (255 255,255,0,3) Borders et Box-Shadow pour améliorer la trois dimensionnalité; 4. Assurez-vous que le conteneur a des arrière-plans riches tels que des images ou des textures pour présenter un effet de pénétration floue; 5. Il est compatible avec les anciens navigateurs

Comment implémenter un thème en mode sombre avec CSS Comment implémenter un thème en mode sombre avec CSS Aug 22, 2025 am 09:55 AM

Il existe deux façons principales d'implémenter le mode Dark: l'une consiste à utiliser les supports préfabriqués-color-scheme pour interroger automatiquement pour adapter les préférences du système, et l'autre consiste à ajouter une fonction de commutation manuelle via JavaScript. 1. Utilisez des préfers-color-schéma pour appliquer automatiquement les thèmes sombres en fonction du système utilisateur. Il n'y a pas besoin de JavaScript, définissez simplement les styles de la requête multimédia; 2. Pour réaliser une commutation manuelle, vous devez définir les classes de thèmes légers et de thems sombres, ajouter des boutons de basculement et utiliser JavaScript pour gérer l'état du thème et localStorage pour enregistrer les préférences des utilisateurs; 3. Vous pouvez combiner les deux pour lire d'abord localst lorsque la page est chargée.

Comment utiliser la grille-template-areas dans CSS Comment utiliser la grille-template-areas dans CSS Aug 22, 2025 am 07:56 AM

Thegrid-template-areaspropertyAllowsDevelowerStrocereIntuve, likellayoutsByDefiningNamedGridAreas; eorgostringrePresentsarowAndeachwordAcolumnCelll, withgrid-areamesonchildElementsMatterThoseIntheteemplate, tel "headerheader" for forwener "for forward" for for "for dhener" for for "for -Heder" for for "for-forwer" for for "for-forwer" for for "for dhener" pour

Comment coiffer les listes commandées et non ordonnées avec CSS Comment coiffer les listes commandées et non ordonnées avec CSS Aug 22, 2025 am 07:59 AM

CSSALLOWSFULLLCUSTUMISATION OFDORDEDEDUNDORDEDLISTERSTOENHANCEREDABILITÉ ET DESSIGNCORSTINGS

Comment créer une image sprite avec HTML et CSS Comment créer une image sprite avec HTML et CSS Aug 23, 2025 am 06:25 AM

AnimageSpriteCombinesMultipleImagesIntoOneFileToreduceHttprequestsandImprovepageLoadSpeed.2.PreparasonElesspriteImageByArrangingsMallergraphics (par exemple, 50x50pxions) Inagrid (par exemple, 100x100px) .3.UsUSEHLElements LikeWithAredAndiqueClasses (.

Qu'est-ce que Lumoz (MOZ COIN)? Économie de jetons Moz et prévisions de prix Qu'est-ce que Lumoz (MOZ COIN)? Économie de jetons Moz et prévisions de prix Aug 29, 2025 pm 04:21 PM

Contenu Quel est Lumoz (Moz Token) Comment Lumoz (Moz) fonctionne 1. Défilé de couche de blockchain modulaire et historique des caractéristiques Lumoz de Moz Token Pratiquement Prix de Moz Token History of Moz Token Eamocs Présentation Lumoz Prix Lumoz 2025 Prix Prix Lumoz 2026-2031 Prix de prix LUMOZ 2031-2036 Prévisions de prix Prévisions de prix LuMoz 2031-2036 Solutions d'extension. Cependant, L2 ne gère pas efficacement de nombreuses ressources matérielles, y compris la disponibilité des données, ZKP (Zero Knowledge Proof)

See all articles