seek-oss / capsize

Flipping how we define typography in CSS.

Home Page:https://seek-oss.github.io/capsize/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Please document how to use capsize with lists

dabrahams opened this issue · comments

this playroom appears to show that it's trickier than it looks, because the ::after element on a ul takes effect in the wrong place to make the adjustment.

Thanks for the suggestion and will take that on when the documentation gets uplifted next.

In terms of your implementation, Capsize should only be applied to the leaf text nodes. There was a bit of a mix in the link you shared.

Once applied correctly, the outstanding white space was being introduced by the default marker element. Capsize cannot style this element due to its CSS property limitations. However, I would recommend styling the marker element to use a line-height that is closer to the cap height.

Updated Playroom

Capsize should only be applied to the leaf text nodes

That's what I figured, but it would be good to make that very clear in the documentation. There's not really a good way to select them with CSS selectors, is there?

In my actual application I need to control list bullet formatting using a ::before pseudo-element, which makes applying the standard basekick to the leaf <li> elements impractical, which is why it ended up on <ul>. But there are places where I had to make a capsize adjustment for other CSS-injected text, and there I used a solid-trasparent border to do it. I suppose I could do the same for <li> elements…

Looking at your updated playroom, it seems you added a <p> around the top-level list item so you could style it individually. That's a great solution, if you can do it. Since my lists are being generated with Markdown, I don't have that option without adding javascript injection. I'd rather not resort to that, but HTML lists are rather lacking in intrinsic structure that allows control over style, so maybe it's the best option. Any advice appreciated here.