- From: Johannes Wilm <johanneswilm@vivliostyle.com>
- Date: Tue, 7 Apr 2015 22:36:25 +0200
- To: Håkon Wium Lie <howcome@opera.com>
- Cc: www-style list <www-style@w3.org>, public-ppl@w3.org
- Message-ID: <CABkgm-T+hrYUUeGxoRU70NYRCu4FANYRwWnMxfg+p577d6Ft3w@mail.gmail.com>
On Tue, Apr 7, 2015 at 10:01 PM, Håkon Wium Lie <howcome@opera.com> wrote:
> Johannes Wilm wrote:
>
> > > The inside/outside keywords on float have also been removed in the
> > > draft. They're quite useful, and to me they are core to page floats.
> >
> > I can also see that Inside/outside can be helpful, but this is for page
> > based media in general, not specific for floats. And from what I can
> tell,
> > the same effect can be achieved by setting separate styles for @page
> :right
> > and @page :left, right?
>
> That's different. Floting inside/outside lets you do things like:
>
> aside {
> float: outside;
> float-offset: -80mm;
> width: 75mm;
> }
And that would be different from
aside {
float-offset: -80mm;
width: 75mm
}
@page:right {
aside {
float: right;
}
}
@page:left {
aside {
float: left;
}
}
in the cases when the aside ends up being floated to a different page than
where the float reference is?
>
> To float sidnotes into the outside column.
>
> > > From what I can tell, for sidenotes one would need very specific
> placement
> > > rules, which for European text would start something like:
> >
> > 1. Sidenotes are placed to the right or left of their float reference so
> > that they are always on the outside part of the page.
> > 2. If they cannot be placed where they were placed according to 1
> because
> > another sidenote is already covering that part of the margin, they will
> > need to be me moved below the last sidenote that was placed in that
> margin.
> > 3. If a sidenote on a page hits the bottom edge, it needs to be moved
> up so
> > that it fits on the page in its entirety, which means that all previous
> > sidenotes on the same page may need to be moved further up.
> > 4. 3 has to be repeated for every extra sidenode that would otherwise
> have
> > to be placed beyond the bottom edge of the page
> > 5. If 3/4 result in the first sidenote on the page to be moved further
> up
> > than where the body text of the page starts, the movements done in 3/4
> > have to be reverted until the first side node fits on the page and all
> > side nodes that then fall below the bottom edge of the page will have
> to be
> > moved to the next page instead.
> > 6. If one single side node is taller then the entire height of the part
> of
> > the page where the body text is placed, then break it into several
> pieces,
> > according to principle X.
> >
> > And so on. This is a level of complexity that will be interesting to
> some
> > who are specifically into print (like us), but possibly not to everyone
> > else to the same degree. That's why the thought was to try to get some
> of
> > the more fundamental building blocks into this spec so that the more
> > complex things can be added at a later stage on top of it. In the
> meantime
> > they can be achieved by combining Javascript with CSS on the pages where
> > they are really needed.
>
> Can't we just say that "inside" and "outside" are alises for "left"
> and "right", depending on which page the float ends up on?
>
Ok, so inside/outside would be mapped to left/right, which again are mapped
to inline-start/end in horizontal writing modes and block-start/end in vertical
writing modes, correct? I can add that, if it's not to be more complex.
>
>
> Prince and AntennaHouse have implemented these, so I don't think it's
> awfully hard. (Their programmers may correct me on this.)
>
I implemented sidenodes myself using Javascript in BookJS, and I covered
points 1-4 but not 5 and 6 there. It's not impossible to do, but it means
implementing a lot of logic and even different book styles may decide to do
them differently (for example: sidenodes may placed next to footnotes or
they may end where the body text ends). If the outside/inside is meant to
make the creation of sidenodes possible, I'm afraid that won't be enough.
> http://www.princexml.com/doc/properties/float/
> http://www.antennahouse.com/product/ahf60/docs/ahf-float.html
>
> -h&kon
> Håkon Wium Lie CTO °þe®ª
> howcome@opera.com http://people.opera.com/howcome
>
>
Received on Tuesday, 7 April 2015 20:36:59 UTC