This content originally appeared on Zach Leatherman and was authored by Zach Leatherman
<line-numbers> is a web component to add line numbers alongside <pre> or <textarea> elements.
Install:
npm install @zachleat/line-numbers
Features
<pre>supported<textarea>supported (even when adding or removing lines)- CSS
overflowsupported (with obtrusive/visible or nonobtrusive scrollbars) - Numbers are excluded from content flow (not selectable, important for copy paste components!)
- Use any CSS counter style via custom property
--uln-number-type - Change the starting index for counter via (
<line-numbers start="999">) - Numbers are unobtrusive by default to reduce layout shift (opt-in to obtrusive behavior via
<line-numbers obtrusive>)
Limitations
Trying to keep this one as simple as possible, so please note the following:
- Line wrapping is not supported (
white-space: preorwhite-space: nowraponly, and this is enforced by the component) - Elements using
contenteditableare not supported
This content originally appeared on Zach Leatherman and was authored by Zach Leatherman
Zach Leatherman | Sciencx (2025-06-05T05:00:00+00:00) line-numbers Web Component. Retrieved from https://www.scien.cx/2025/06/05/line-numbers-web-component/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.