Heim  >  Artikel  >  Web-Frontend  >  Wie erkennt man, dass CSS-Text die Ellipsen in einer einzelnen Zeile und mehreren Zeilen überschreitet?

Wie erkennt man, dass CSS-Text die Ellipsen in einer einzelnen Zeile und mehreren Zeilen überschreitet?

不言
不言Original
2018-09-19 10:45:372758Durchsuche

Manchmal kann es beim Entwerfen einer Webseite vorkommen, dass der Text zu lang ist und die Seite dadurch unansehnlich wird. In diesem Artikel wird die Implementierungsmethode für CSS-Text vorgestellt, der die Ellipsen in einer einzelnen Zeile und mehrzeiligen Text in den Ellipsen überschreitet.

Werfen wir zunächst einen Blick auf die CSS-Methode, um eine einzelne Textzeile über die Ellipsen hinaus zu implementieren.

CSS sollte das text-overflow:ellipsis-Attribut verwenden, um die Überlaufanzeige von Auslassungspunkten in einer einzelnen Textzeile zu realisieren. Natürlich muss das width-Attribut hinzugefügt werden mit einigen Browsing kompatibel sein.

Implementierungscode für einzeiligen CSS-Text, der über die Auslassungspunkte hinausgeht:

<!DOCTYPE html> 
<html> 
<head> 
<meta charset=utf-8"> 
<title>省略号 test</title> 
<style type="text/css"> 
*{ 
margin:0; 
padding:0; 
} 
body{ 
padding:10px; 
font-family:Arial; 
} 
#test { 
position:relative; 
width:150px; 
height:20px; 
line-height:20px; 
text-overflow:ellipsis; 
white-space:nowrap; 
*white-space:nowrap; 
overflow:hidden; 
border:1px solid #999; 
} 
#test span{ 
position:absolute; 
top:0; 
right:0; 
display:block; 
float:left; 
} 
</style> 
</head> 
<body> 
<div id="test">php中文网php中文网php中文网php中文网php中文网php中文网php中文网</div> 
</body> 
</html>

Der Effekt von einzeiligem CSS-Text, der über die Auslassungspunkte hinausgeht, ist wie folgt:

Wie erkennt man, dass CSS-Text die Ellipsen in einer einzelnen Zeile und mehreren Zeilen überschreitet?

Das Attribut text-overflow:ellipsis unterstützt nur die Überlaufanzeige von Ellipsen in einer einzelnen Textzeile. Was ist, wenn wir die Überlaufanzeige von Ellipsen in mehrzeiligem Text implementieren möchten? Als nächstes werden wir weiter über die CSS-Methode sprechen, um mehrzeiligen Text über die Auslassungspunkte hinaus zu implementieren. (Weitere Informationen zum Attribut text-overflow:ellipsis finden Sie im CSS-Handbuch)

1. Mit CSS können Sie mehrzeiligen Text über die Ellipsen hinaus direkt festlegen CSS-Attribute (nur -webkit-Kernel)

Syntax:

  overflow: hidden;  
  text-overflow: ellipsis; 
  display: -webkit-box;  
  -webkit-line-clamp: 2;  
  -webkit-box-orient: vertical;

Die meisten mobilen Browser basieren auf dem WebKit-Kern, daher ist diese Methode für mobile Endgeräte geeignet

-webkit -line-clamp wird verwendet, um die Anzahl der in einem Blockelement angezeigten Textzeilen zu begrenzen. Dies ist eine nicht unterstützte WebKit-Eigenschaft, die nicht in der CSS-Entwurfsspezifikation erscheint.

display: -webkit-box Zeigt das Objekt als flexibles Boxmodell an.

-webkit-box-orient legt die Anordnung der untergeordneten Elemente des Flex-Box-Objekts fest oder ruft sie ab.

text-overflow: Auslassungspunkte werden für mehrzeiligen Text verwendet, wobei Auslassungspunkte „…“ verwendet werden, um Text auszublenden, der den Bereich überschreitet.

2. Verwenden Sie absolute Positionierung und Auffüllung, um mehrzeiligen Text über die Auslassungspunkte hinaus mithilfe von CSS zu implementieren.

Syntax:

p{
position: relative; 
line-height: 20px; 
max-height: 40px;
overflow: hidden;
}
p::after{
content: "..."; 
position: absolute; 
bottom: 0; 
right: 0; 
padding-left: 40px;
background: -webkit-linear-gradient(left, transparent, #fff 55%);
background: -o-linear-gradient(right, transparent, #fff 55%);
background: -moz-linear-gradient(right, transparent, #fff 55%);
background: linear-gradient(to right, transparent, #fff 55%);
}

Das Prinzip dieser Methode ist: Zuerst ein ... in das Element mit Text einbetten, dann eine Position von ... (padding-right) auf der rechten Seite des Elements belassen enthält Text, und schließlich „Absolute Positionierung verwenden, um ... im Padding-Right-Bereich auf der rechten Seite zu positionieren“.


Hinweis: Diese Methode hat ein breites Anwendungsspektrum, es werden jedoch auch Ellipsen angezeigt, wenn der Text die Zeile nicht überschreitet. Diese Methode kann mit js optimiert werden.

Hinweis:

Stellen Sie die Höhe auf ein ganzzahliges Vielfaches der Zeilenhöhe ein, um zu verhindern, dass überschüssiger Text angezeigt wird.

Fügen Sie p::after einen Hintergrund mit Farbverlauf hinzu, um zu vermeiden, dass nur die Hälfte des Textes angezeigt wird.

Da ie6-7 keinen Inhalt anzeigt, müssen Sie Tags hinzufügen, um mit ie6-7 kompatibel zu sein (z. B. ...); Bei ie8 müssen Sie ::after durch :after ersetzen.

Dieser Artikel endet hier. Weitere Informationen zu CSS-Texten außerhalb der Auslassungspunkte finden Sie auf der chinesischen PHP-Website.


Das obige ist der detaillierte Inhalt vonWie erkennt man, dass CSS-Text die Ellipsen in einer einzelnen Zeile und mehreren Zeilen überschreitet?. 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