- From: Håkon Wium Lie <howcome@opera.com>
- Date: Sun, 30 Oct 2011 22:53:14 +0100
- To: David Hyatt <hyatt@apple.com>
- Cc: Michael Day <mikeday@yeslogic.com>, "www-style@w3.org" <www-style@w3.org>
Also sprach David Hyatt:
> >> We've had user requests for the ability to switch from one column layout
> >> on the first page, to two column layout on the second and subsequent pages.
> >> For example:
> >>
> >> div.chapter { columns: 2 }
> >> div.chapter::first-page { columns: 1 }
>
> Why pseudo-elements? Isn't this more like a pseudo-class?
To me, it's more like a pseudo-element because we select part of a
strucutural element, not the whole element. This is akin to what
:first-line does. Pseudo-classes, however, select the whole element.
> The boxes for pages and columns are already generated, so in my
> mind it's more like you're matching an existing object than
> creating a new one.
True, no new boxes are created. But that's the same for first-line --
it doesn't create any new line boxes.
> I actually really like the region styling syntax as a way of
> styling objects differently inside pages, columns or regions. In
> WebKit I'm wanting to just re-implement pages and columns as
> special cases of regions, so that everything is just a region.
>
> So the above example could be more like:
>
> @region :nth-page(1)
> {
> div.chapter { columns: 2 }
> }
So, we have:
(a) @region :nth-page(1) { div.chapter { columns: 2 } }
(b) div.chapter::first-page { columns: 1 }
Or, perhaps:
(a) @region :nth-page(1) { div.chapter { columns: 2 } }
(b) div.chapter::page(1) { columns: 1 }
It seems they both have the same information in them. There may be a
difference in inheritance -- in (a) you cannot perform inheritance
before layout as you don't knoe which page div.chapter will turn up on
until you've don the layout.
> Similarly you could have an nth-column pseudo-class as well.
>
> @region :nth-column(3)
> {
> div.chapter { background-color: blue; color: white }
> }
which would be:
div.chapter:column(3) { background-color: blue; color: white }
To select all columns on page 1:
div.chapter:columns-page(1)
And, to select the first column on page 2:
div.chapter:column(1):page(2)
> I just really want to see us have a coherent picture for regions, multi-column and printing.
Indeed.
-h&kon
Håkon Wium Lie CTO °þe®ª
howcome@opera.com http://people.opera.com/howcome
Received on Sunday, 30 October 2011 21:54:01 UTC