I am working on a creative website featuring silly limericks. I would like to display each line of the limerick in an alternating direction. That is, I want it in boustophedon f
Yes, this is possible using the combination of two Unicode control characters. Namely, the
Each override character makes the text that follows it flow in the corresponding direction.
These can be inserted into an document with the HTML entities ‮
and ‭
, or the decimal equivalents, ‮
and ‭
.
This allows you to write your example thus:
<p>
There once was a young lady with pride,<br>
‮who ate fourteen green apples and died.<br>
‭Within the lamented,<br>
‮the apple fermented<br>
‭and made cider inside her insides.
</p>
I'm posting this HTML in now so you can see how it appears. You can observe the actual direction change by selecting parts of the text.
There once was a young lady with pride,
who ate fourteen green 123 apples and died.
Within the lamented,
the apple fermented
and made cider inside her insides.
If you wanted a true boustrephedon, where the letters forms are also backwards, and if you don't mind using CSS3 features, then you could use a CSS3 transform:
backward {
display: inline-block;
-moz-transform: scale(-1, 1);
-webkit-transform: scale(-1, 1);
transform: scale(-1, 1);
}
<p>
There once was a lady with pride,<br>
<backward>who ate fourteen green apples and died.</backward><br> Within the lamented,<br>
<backward>the apple fermented</backward><br> and made cider inside her insides.
</p>
Try this.
span {
direction: rtl;
unicode-bidi: bidi-override;
}
<span>who ate fourteen green apples and died.</span>
You can use bdo tag like so:
bdo[dir='rtl'] {
color: red;
}
There once was a lady with pride,<br>
<bdo dir='rtl'>who ate fourteen green apples and died.</bdo><br>
Within the lamented,<br>
<bdo dir='rtl'>the apple fermented</bdo><br>
and made cider inside her insides.