Heim > Web-Frontend > CSS-Tutorial > Wie kann ich mit Ellipsen eine browserübergreifende kompatible CSS-Textkürzung erreichen?

Wie kann ich mit Ellipsen eine browserübergreifende kompatible CSS-Textkürzung erreichen?

Linda Hamilton
Freigeben: 2024-12-24 17:38:10
Original
886 Leute haben es durchsucht

How Can I Achieve Cross-Browser Compatible CSS Text Truncation with Ellipses?

Lange Zeichenfolgen mit CSS abschneiden: Eine browserspezifische Odyssee

Obwohl das serverseitige Abschneiden von Text basierend auf der logischen Breite ausreichen kann, ist dies oft der Fall führt aufgrund der unterschiedlichen Breite einzelner Zeichen zu suboptimalen Ergebnissen. Idealerweise sollte die Kürzung im Browser erfolgen, wo die physische Breite des gerenderten Texts genau bestimmt werden kann.

Die text-overflow: ellipsis-Eigenschaft des Internet Explorers erreicht genau dieses Ziel, ihre browserübergreifende Kompatibilität ist jedoch begrenzt. Firefox unterstützt diese Eigenschaft nicht, sodass Entwickler nach alternativen Lösungen suchen.

Justin Maxwells Cross-Browser-Ansatz

Justin Maxwell bietet eine CSS-basierte Problemumgehung, die Cross-Browser-Ansatz unterstützt. Kürzung des Browsers. Allerdings besteht die Einschränkung, dass die Textauswahl in Firefox verhindert wird.

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

ellipsis.xml-Inhalte

<?xml version="1.0"?>
<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>
Nach dem Login kopieren

Knoteninhalte in Firefox aktualisieren

Um eine Einschränkung bei der Handhabung dieser Technik durch Firefox zu beheben, kann der folgende Code zum Aktualisieren des Knotens verwendet werden Inhalt:

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

        pnode.replaceChild(newNode, node);
    }
}
Nach dem Login kopieren

Mit diesen Techniken können Entwickler lange Zeichenfolgen effektiv mit CSS kürzen und so sicherstellen, dass dynamische Inhalte in Layouts mit fester Breite passen, während benutzerfreundliche visuelle Hinweise wie Ellipsen zur Anzeige der Kürzung erhalten bleiben.

Das obige ist der detaillierte Inhalt vonWie kann ich mit Ellipsen eine browserübergreifende kompatible CSS-Textkürzung erreichen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage