Ich stecke mit einem Chat-Fenster fest, das wir mit Hilfe von CSS nach, vor Elementen erstellen. Mein Code wird unten hinzugefügt. Meine Fragen sind:Chat-Fenster mit CSS
- Warum wir
content
gesetzt tun, wenn es leer ist? - Warum wird die
position
inabsolute
in:after
und:before
geändert? - Hauptfrage ist: Wie zeichnen wir den Pfeil auf der linken Seite?
.bubble {
position: relative;
width: 580px;
min-height: 65px;
padding: 15px;
background: #fff;
border-radius: 10px;
border: 1px solid #ccc;
margin-left: 50px;
margin-top: 59px;
}
.bubble:after {
content: '';
position: absolute;
border-style: solid;
border-width: 15px 15px 15px 0;
display: block;
width: 0;
z-index: 1;
margin-top: -15px;
left: -15px;
top: 50%;
border-color: transparent #fff;
}
.bubble:before {
content: '';
position: absolute;
border-style: solid;
border-width: 15px 15px 15px 0;
display: block;
width: 0;
z-index: 0;
margin-top: -15px;
left: -16px;
top: 50%;
border-color: transparent red;
}
<html>
<body>
<div class="bubble">
<div class="Pointer">
<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.
</p>
</div>
</div>
</body>
</html>
Pseudo-Elemente erstellt ** zusätzliche Inhalte ** Stil. Dieser * Inhalt * ist das, was Sie in die 'content' Eigenschaft schreiben. Wenn Sie für die Eigenschaft 'content' keinen Wert angeben, wird dieser auf den Standardwert 'none' zurückgesetzt. Wenn der Inhalt "none" ist, dann gibt es nichts zu stylen und welches Styling Sie auch anwenden, es wird nichts angewendet werden. –
Der Pfeil wird mit zwei Dreiecken erstellt, die mit den Rahmeneigenschaften erstellt wurden. Ein rotes Dreieck mit: vor und ein weißes mit: nach. Der weiße wird oben mit Z-Index und das rote Dreieck wird einen Pixel mehr nach links gelegt. Jetzt sieht es so aus, als wäre eine Linie gezeichnet, aber es zeigt nur einen kleinen Teil des roten Dreiecks. – Gerard