- From: yosin <notifications@github.com>
- Date: Wed, 07 Dec 2016 19:54:12 -0800
- To: w3c/editing <editing@noreply.github.com>
- Message-ID: <w3c/editing/issues/158@github.com>
# ::caret pseudo-element ## Proposal: ::caret pseudo-element is used for rendering "caret-shape:bar", rendering engine uses "font-*" properties to determine height of caret, from font-size and font-family, and width from font-weight and slanted from font-style. ## Motivation ::caret pseudo-element allows us: - Solves #70, height of empty element is specified by ::caret pseudo-element. When editable element gets focus, we can enlarge the element to hold a character having style specified by ::caret pseudo-element rather than height of element. ``` <style> ::caret { font-size: 20px } </style> Below cE should have height for "font-size: 20px" when its get focus. <div style="height: 0px" contenteditable> <span style="font-size: 20px;">foo</span> </div> ``` - Font menu; rather than inserting an empty SPAN with inline style, we set properties of ::caret pseudo-element for matching caret shape to next inserted characters. - Render caret as last typing style; rather than leaving empty element, we can remove empty element, e.g. when user removes character `a` from `<b>a<;/b>`, we want to remove `<b></b>` but caret shape should be thick since next typed character should have bold style. Note: Term "height" and "width" assumes horizontal writing-mode, on vertical-mode height and width are swapped. [1] https://drafts.csswg.org/css-ui-4/#caret-shape -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/w3c/editing/issues/158
Received on Thursday, 8 December 2016 03:54:45 UTC