Heim >Web-Frontend >CSS-Tutorial >Wie kann ich mit Ellipsen eine browserübergreifende kompatible CSS-Textkürzung erreichen?
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'); }
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>
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); } }
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!