- From: Alex Mogilevsky <alexmog@microsoft.com>
- Date: Sat, 3 Jan 2009 15:18:54 -0800
- To: Håkon Wium Lie <howcome@opera.com>
- CC: Tab Atkins Jr. <jackalmage@gmail.com>, "L. David Baron" <dbaron@dbaron.org>, "www-style@w3.org" <www-style@w3.org>
Yes, I like where #2 and #3 are heading.
In fact, if we just wanted to had a line grid, the most simple way to define it would be a non-inheritable property of type <length>.
.chapter { line-grid:14px; }
.footnote { line-grid:12px; }
if both grid type and grid container are specified with one property, what can be more simple?
I sounds like we are making it more complicated because we still want to use other values of 'line-stacking-strategy' (e.g. max-height) which should override grid alignment on child elements.
Would this combination get all we need?
1) inheritable property 'line-stacking-strategy'
(values as currently listed, including 'grid-height')
2) non-inheritable property 'line-grid-height' of type <length>.
If 'line-stacking-strategy' is set to 'grid-height', lines are
aligned to the grid defined by nearest parent element with
'line-grid-height' set to a value.
If 'line-grid-height' is not set anywhere, 'grid-height' alignment
is ignored (alternatively, it could align to root element or body lines)
Would this work? I realize this adds another property that could be avoided in other options, but wouldn't it make it simpler?
BTW, separating line-grid-height from line-height has a benefit of not actually having to set an explicit 'line-height' which has weird effect on lines with mixed fonts, vertical alignment etc. which is not necessarily desired whenever grid alignment is applied...
-----Original Message-----
From: Håkon Wium Lie [mailto:howcome@opera.com]
Sent: Saturday, January 03, 2009 9:16 AM
To: Alex Mogilevsky
Cc: Tab Atkins Jr.; L. David Baron; www-style@w3.org
Subject: RE: [css3-linebox] aligning lines
2) We change 'line-stacking-strategy' from inherited to non-inherited.
Then we can more safely look for the *youngest* ancestor with
'line-stacking-strategy: grid'. This would allow us to have more than
one grid per flow. This is a bug or a feature, depending on your point
of view.
3) We use 'grid-rows' [1] (or another non-inherited property) to define a
set of horizontal grid lines. E.g.:
body {
grid-rows: 12px;
line-height: 12px;
}
p {
line-height: 14px;
}
This solution gives us independence from 'line-height'. This may be your
favored approach?
[1] http://dev.w3.org/csswg/css3-grid/#grid-rows
-h&kon
Håkon Wium Lie CTO °þe®ª
howcome@opera.com http://people.opera.com/howcome
Received on Saturday, 3 January 2009 23:19:40 UTC