Heim >Web-Frontend >CSS-Tutorial >Wie kann ich lange Zeichenfolgen mit CSS effizient kürzen und die browserübergreifende Kompatibilität gewährleisten?

Wie kann ich lange Zeichenfolgen mit CSS effizient kürzen und die browserübergreifende Kompatibilität gewährleisten?

Linda Hamilton
Linda HamiltonOriginal
2024-12-25 05:00:13324Durchsuche

How Can I Efficiently Truncate Long Strings with CSS and Handle Cross-Browser Compatibility?

Lange Zeichenfolgen mit CSS abschneiden: Exzellenz erreicht

Das Abschneiden von Text mit HTML und CSS kann ein Rätsel sein, insbesondere wenn man sich mit der darin enthaltenen Darstellung auseinandersetzt feste Layouts. Die serverseitige Kürzung basierend auf der logischen Breite hat ihre Grenzen und erfordert häufig kontinuierliche Anpassungen, um optimale Ergebnisse zu gewährleisten.

Das Aufkommen von CSS text-overflow: ellipsis hat diesen Prozess jedoch revolutioniert. Diese Eigenschaft, die jetzt von den wichtigsten Browsern unterstützt wird, schneidet überlaufenden Text ab und fügt Ellipsen an, um die Kürzung anzuzeigen.

Justin Maxwell hat eine browserübergreifende CSS-Lösung entwickelt, die die oben genannte Eigenschaft nutzt. Während es die Textauswahl in Firefox verhindert, schneidet es den Inhalt effektiv zu und zeigt Ellipsen wie gewünscht an.

CSS-Implementierung:

.ellipsis {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
    -moz-binding: url('assets/xml/ellipsis.xml#ellipsis');
}

XML-Bindung für Firefox-Unterstützung :

<bindings xmlns="http://www.mozilla.org/xbl" xmlns:xbl="http://www.mozilla.org/xbl" xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
    <binding>

Knoteninhaltsaktualisierung in Firefox:

Das Aktualisieren von Knoteninhalten, die in Firefox Auslassungspunkte verwenden, erfordert einen anderen Ansatz:

function replaceEllipsis(node, content) {
    node.innerHTML = content;
    if (YAHOO.env.ua.gecko) {
        var pnode = node.parentNode,
            newNode = node.cloneNode(true);
        pnode.replaceChild(newNode, node);
    }
}

Mit dieser erweiterten Lösung ist das Abschneiden von dynamischem Text in festen Layouts keine entmutigende Aufgabe mehr . Textüberlauf: Ellipsis hat den Weg für eine optimierte Inhaltspräsentation geebnet, wodurch die Notwendigkeit serverseitiger Schätzungen entfällt und die browserübergreifende Kompatibilität sichergestellt wird.

Das obige ist der detaillierte Inhalt vonWie kann ich lange Zeichenfolgen mit CSS effizient kürzen und die browserübergreifende Kompatibilität gewährleisten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn