Próbuję uzyskać kilka inline
i inline-block
komponenty wyrównane pionowo w div
. Jak to możliwe, że span
w tym przykładzie nalega na zepchnięcie? Próbowałem obu vertical-align:middle;
i vertical-align:top;
, ale nic się nie zmienia.
HTML:
<div>
<a></a><a></a>
<span>Some text</span>
</div>
CSS:
a {
background-color:#FFF;
width:20px;
height:20px;
display:inline-block;
border:solid black 1px;
}
div {
background:yellow;
vertical-align:middle;
}
span {
background:red;
}
WYNIK:
html
css
vertical-alignment
Yarin
źródło
źródło
<a>
elementy zawierają jakiś tekst w środku, zobacz ten linkOdpowiedzi:
vertical-align
dotyczy dopasowywanych elementów, a nie ich elementu nadrzędnego. Aby wyrównać w pionie elementy podrzędne elementu div, zrób to:Zobacz: http://jsfiddle.net/dfmx123/TFPx8/1186/
UWAGA :
vertical-align
odnosi się do bieżącej linii tekstu, a nie do pełnej wysokości rodzicadiv
. Jeśli chcesz, aby rodzicdiv
był wyższy i nadal miał elementy wyśrodkowane w pionie, ustaw właściwośćdiv
'sline-height
zamiast jejheight
. Aby zobaczyć przykład, skorzystaj z linku jsfiddle powyżej.źródło
div
.vertical-align
odnosi się do bieżącego wiersza tekstu, a nie do elementu nadrzędnego. Aby to działało tak, jak chcesz, ustaw divline-height
zamiast jegoheight
.Dać
vertical-align:top;
wa
&span
. Lubię to:Sprawdź to http://jsfiddle.net/TFPx8/10/
źródło
Zwykłe przesunięcie obu elementów w lewo daje ten sam rezultat.
źródło
inline-block
jest to jedyne rozwiązanie.Aby precyzyjnie ustawić pozycję
inline-block
elementu, użyj opcji góra i lewo:Dzięki sztuczkom CSS !
źródło
translate
jest również możliwe.