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.
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.