Poniższy kod (dostępny również jako demo na JS Fiddle) nie pozycjonuje tekstu na środku, tak jak bym tego chciał. Nie mogę znaleźć żadnego sposobu na pionowe wyśrodkowanie tekstu w div
, nawet używając atrybutu margin-top
. Jak mogę to zrobić?
<div id="column-content">
<img src="http://i.stack.imgur.com/12qzO.png">
<strong>1234</strong>
yet another text content that should be centered vertically
</div>
#column-content {
display: inline-block;
border: 1px solid red;
position:relative;
}
#column-content strong {
color: #592102;
font-size: 18px;
}
img {
margin-top:-7px;
vertical-align: middle;
}
Utwórz kontener dla swojej zawartości tekstowej, być może span
.
#column-content {
display: inline-block;
}
img {
vertical-align: middle;
}
span {
display: inline-block;
vertical-align: middle;
}
/* for visual purposes */
#column-content {
border: 1px solid red;
position: relative;
}
<div id="column-content">
<img src="http://i.imgur.com/WxW4B.png">
<span><strong>1234</strong>
yet another text content that should be centered vertically</span>
</div>
Dodaj również pionowe wyrównanie do zawartości CSS #column-content strong
:
#column-content strong {
...
vertical-align: middle;
}
Zobacz również swój zaktualizowany przykład.
=== AKTUALIZACJA ===
Z rozpiętością wokół innego tekstu i innym pionowym wyrównaniem:
HTML:
... <span>yet another text content that should be centered vertically</span> ...
CSS:
#column-content span {
vertical-align: middle;
}
Zobacz również następny przykład.