- From: Gérard Talbot <www-style@gtalbot.org>
- Date: Sun, 01 Jun 2014 16:25:35 -0400
- To: MURAKAMI Shinyu <murakami@antenna.co.jp>
- Cc: www-style@w3.org
Le 2014-06-01 03:29, MURAKAMI Shinyu a écrit : > I would like to propose new relative length units: > > 'lh' line-height of the element > 'rlh' line-height of the root element > > (refer the used value of the line-height property) > > The line-height relative length units are necessary for specifying > the block-size of a block container using number of lines. > > Examples: > > @page { > height: 20rlh; /* n of lines per page */ > } > > p { > margin-top: 1lh; /* keep paragraph spacing to 1 line-height */ > margin-bottom: 1lh; > } > > To prevent circular dependency, the following limitations are needed: > > - 'lh' cannot be used on 'line-height' and 'font-size' property value > - 'rlh' cannot be used on root element's 'line-height' and 'font-size' > property value > > Thoughts? MURAKAMI, I think your proposal is impractical, not suitable; lh as an unit would be referring to a length that is not, for practical purposes, predictable. Not all line boxes have the same height. line-height as a property defines the minimum height of line box; line-height does not define an height but a minimum rather: " 'line-height' specifies the minimal height of line boxes within the element. The minimum height consists of a minimum height above the baseline and a minimum depth below it " http://www.w3.org/TR/CSS21/visudet.html#propdef-line-height and so the actual line box height could be greater. If you do: div {height: 10em;} or div {height: 20vh;} the div's content height is set and overflow can occur; the height is not a minimum; the height is set, determined (computable at load time or at parsing time) and is not flexible. div {line-height: 24px;} is a minimum. or div {line-height: 3;} is also a minimum. How tall (as length) is the height of each and every single line box depends on the several factors listed and defined in §10.8: " The height of a line box is determined as follows: (...) " http://www.w3.org/TR/CSS21/visudet.html#line-height There are several cases and situations where content (or padding or border or margin) will "bleed" outside the line box. -------------- Here's 3 test cases (you must have Ahem font installed to view these) illustrating how the line box height can be affected - by the line-height of inline non-replaced elements http://test.csswg.org/source/css21/inline-formatting-context-010b.xht - by vertical-alignment of inline non-replaced elements http://test.csswg.org/source/css21/inline-formatting-context-010c.xht - by vertical-alignment of inline replaced elements http://test.csswg.org/source/css21/inline-formatting-context-010d.xht Gérard
Received on Sunday, 1 June 2014 20:26:09 UTC