Ich habe ein div mit einem unteren Pfeil mit :: after erstellt. Hier ist der HTML-Code:
<div class="sidebar-resources-categories">Topics</div>
<div class="text-content">ok ok</div>
Und hier ist das CSS:
.sidebar-resources-categories{
height: 50px;
margin-bottom: 20px;
background-color: #e8e8e8;
font-weight: 600;
line-height: 50px;
text-align: center;
font-size: 20px;
}
.sidebar-resources-categories::after{
content: '';
position: absolute;
left: 42%;
top: 100%;
width: 0;
height: 0;
border-left: 20px solid transparent;
border-right: 20px solid transparent;
border-top: 20px solid #e8e8e8;
clear: both;
}
Hier ist das Ergebnis:
Ich möchte, dass sich der Pfeil ganz unten im grauen Div befindet. Ich möchte nicht den Inhalt zwischen dem div und dem unteren Pfeil haben. Weißt du, wie ich das schaffen kann?
Fügen Sie einfach position:relative
zu .sidebar-resources-categories hinzu
http://jsfiddle.net/matthewabrman/5msuY/
erklärung: Die Position der :: after-Elemente basiert auf ihrem übergeordneten Element. In Ihrem Beispiel hatten Sie wahrscheinlich ein übergeordnetes Element der .sidebar-res ... -Datei, die eine festgelegte Höhe hatte, daher direkt darunter gerendert. Durch das Hinzufügen einer Position relativ zu der .sidebar-res ... bewegen sich die after-Elemente zu 100% ihres übergeordneten Elements, das jetzt zur .sidebar-res wird, da ihre Position auf relativ gesetzt ist. Ich bin nicht sicher, wie ich es erklären soll, aber es ist erwartetes Verhalten.
lesen Sie mehr zum Thema: http://css-tricks.com/absolute-positioning-inside-relative-positioning/
Klasse hinzufügen:
.com_box:after {
content: '';
position: absolute;
left: 18px;
top: 50px;
width: 0;
height: 0;
border-left: 20px solid transparent;
border-right: 20px solid transparent;
border-top: 20px solid #000;
clear: both;
}
Jsfiddle wurde aktualisiert: http://jsfiddle.net/wrm4y8k6/8/
Sie können ein Dreieck mit der Position festlegen. Siehe diesen Code als Referenz
.top-left-corner {
width: 0px;
height: 0px;
border-top: 0px solid transparent;
border-bottom: 55px solid transparent;
border-left: 55px solid #289006;
position: absolute;
left: 0px;
top: 0px;
}