Lorem ipsum dolor, sit amet consectetur adipisicing elit. Iure vel officiis ipsum placeat itaque neque dolorem modi perspiciatis dolor distinctio veritatis sapiente, minima corrupti dolores necessitatibus suscipit accusantium dignissimos culpa cumque.
Ea nemo et dolorum quidem non est aut. Tempore delectus dolorum delectus omnis velit quia. Nobis eius atque occaeca
It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters.
- We want everything to look good out of the box.
- Really just the first reason, thatโs the whole point of the plugin.
- Hereโs a third pretend reason though a list with three items looks more realistic than a list with two items.
Typography should be easy
So thatโs a header for you โ with any luck if weโve done our job correctly that will look pretty reasonable.
Something a wise person once told me about typography is:
Typography is pretty important if you donโt want your stuff to look like trash. Make it good then it wonโt be bad.
Itโs probably important that images look okay here by default as well:
What to expect from here on out
What follows from here is just a bunch of absolute nonsense Iโve written to dogfood the plugin itself. It includes every sensible typographic element I could think of, like bold text, unordered lists, ordered lists, code blocks, block quotes, and even italics.
Itโs important to cover all of these use cases for a few reasons:
- We want everything to look good out of the box.
- Really just the first reason, thatโs the whole point of the plugin.
- Hereโs a third pretend reason though a list with three items looks more realistic than a list with two items.
Now weโre going to try out another header style.

Now Iโm going to show you an example of an unordered list to make sure that looks good, too:
- So here is the first item in this list.
- In this example weโre keeping the items short.
- Later, weโll use longer, more complex list items.
And thatโs the end of this section.
Code should look okay by default.
I think most people are going to use highlight.js or Prism or something if they want to style their code blocks but it wouldnโt hurt to make them look okay out of the box, even with no syntax highlighting.
What Iโve written here is probably long enough, but adding this final sentence canโt hurt.
function tick() {
const element = (
<div>
<h1>Hello, world!</h1>
<h2>It is {new Date().toLocaleTimeString()}.</h2>
</div>
);
ReactDOM.render(element, document.getElementById('root'));
}
Hopefully that looks good enough to you.
There are other elements we need to style
I almost forgot to mention links, like this link to the Tailwind CSS website. We almost made them blue but thatโs so yesterday, so we went with dark gray, feels edgier.
We even included table styles, check it out:
Wrestler | Origin | Finisher |
---|---|---|
Bret โThe Hitmanโ Hart | Calgary, AB | Sharpshooter |
Stone Cold Steve Austin | Austin, TX | Stone Cold Stunner |
Randy Savage | Sarasota, FL | Elbow Drop |
Vader | Boulder, CO | Vader Bomb |
Razor Ramon | Chuluota, FL | Razorโs Edge |
We also need to make sure inline code looks good, like if I wanted to talk about <span>
elements or tell you the good news about @tailwindcss/typography
.
We still need to think about stacked headings though.
Ea nemo et dolorum quidem non est aut. Tempore delectus dolorum delectus omnis velit quia. Nobis eius atque occaeca

Letโs make sure we donโt screw that up h4 elements, either.
Phew, with any luck we have styled the headings above this text and they look pretty good.
Ea nemo et dolorum quidem non est aut. Tempore delectus dolorum delectus omnis velit quia. Nobis eius atque occaeca
Letโs add a closing paragraph here so things end with a decently sized block of text. I canโt explain why I want things to end that way but I have to assume itโs because I think things will look weird or unbalanced if there is a heading too close to the end of the document.
Ipsam vitae et ut sapiente doloribus aut. Asperiores provident amet aut non. Fugiat aperiam quam maxime. At assumenda sed tempore enim quaerat. Corporis magni pariatur laboriosam sequi voluptatem accusamus eveniet et. Quo quibusdam repellendus velit