Reputation: 11255
I have a vertical block of text that looks left-aligned like this:
T
e
x
t
See this demo for better visualisation.
How do I align it using CSS and without breaking up the text, so that the characters appear to be horizontally centered within the block?
Upvotes: 1
Views: 180
Reputation: 43156
Letter spacing adds the space to the right of the letter. So you've to add equal padding to the left for imitating center alignment.
Apply padding-left
equal to the letter-spacing
div {
width: 1em;
word-wrap: break-word;
margin:0 auto;
background: cyan;
letter-spacing:0.5em;
padding-left:0.5em;
text-align:center;
}
Update
Visual appearance can be tweaked by simply changing the values…
Upvotes: 1
Reputation: 1919
try this {demo}
div {
background: cyan;
width: 60px;
line-height: 0.7em;
text-align:center;
word-wrap: break-word;
padding:0 10px
}
Upvotes: 0
Reputation: 1041
What about this DEMO?
HTML
<div>
<div>T</div>
<div>e</div>
<div>x</div>
<div>t</div>
</div>
CSS
div {
background: cyan;
width: 1em;
line-height: 0.7em;
text-align:center
}
OR this one DEMO 2
HTML
<div>
T<br>
e<br>
x<br>
t<br>
</div>
CSS
div {
background: cyan;
width: 1em;
line-height: 0.7em;
text-align:center
}
Upvotes: 1
Reputation: 276
Try this FIDDLE
div {
background: cyan;
width: 1em;
letter-spacing: 1em;
line-height: 0.7em;
word-wrap: break-word;
margin: 0 auto;
}
Upvotes: 0