How to make text run top-to-bottom in CSS?
To make the letters top-to-bottom while keeping their normal orientation, like this:
F
O
O
HTML:
<div class="toptobottom">letters</div>
CSS:
.toptobottom{
width: 0;
word-wrap: break-word;
}
word-wrap allows words to be broken in the middle, so this will make the letters top-to-bottom. It's also really well supported: https://developer.mozilla.org/en-US/docs/CSS/word-wrap
Having your text run along vertical lines WITHOUT HACKS
writing-mode
CSS writing-mode
attribute lets your text run vertically.
.traditional-vertical-writing
{
writing-mode: vertical-rl;
}
<p class="traditional-vertical-writing">
This text runs vertically.<br>
『只是』 ((but the thing is)),since Latin alphabets are not for vertical writing,
not only the lines but each of the non-vertical-writing letters also gets rotated.<br>
0123456789
</p>
text-orientation
If you don't want non-vertical-writing letters to rotate themselves in vertical lines, you may use CSS text-orientation
attribute as well.
.vertical-writing
{
writing-mode: vertical-rl;
text-orientation: upright;
}
<p class="vertical-writing">
This text runs vertically.<br>
『それに』 ((and in addition))、now you don't have to turn your head 90 degrees clockwise
to read these non-vertical-writing letters!<br>
0123456789
</p>
And if you’re to do some tate-chuu-yoko[1][2][3] (a bit of horizontal writing while writing vertically),
consider using text-combine-upright
.