поле внутри/снаружи для рендеринга CSS Paged Media в AntennaHouse

Я делаю макеты для печати с помощью HTML и CSS с визуализатором AntennaHouse.

Поле в моем контенте должно иметь левое поле 20pt на левых страницах и 10pt на правых страницах.

/* on left hand pages */
margin-left: 20pt;
margin-right: 10pt;

/* on right hand pages */
margin-left: 10pt;
margin-right: 20pt;

Таким образом, внешнее поле поля должно быть 20 пунктов, а внутреннее поле — 10 пунктов. В основном я ищу такой синтаксис (которого не существует):

/* pseudo code */
margin-outside: 20pt;
margin-inside: 10pt;

Кто-нибудь знает, как это сделать? И если да, то есть ли аналог для внутреннего/снаружи?

Решения XSL-FO также приветствуются, так как AntennaHouse имеет эквивалентные функции для рендеринга FO и CSS...


person ToFi    schedule 06.01.2015    source источник
comment
в XSL-FO единственный известный мне метод — это делать это на уровне страницы, а не в отдельных полях.   -  person Hobbes    schedule 07.01.2015
comment
Возможно, вы слишком глубоко задаете вопрос, думая о решении... чего визуально вы пытаетесь достичь? Inside/outside обычно поддерживаются на полях страницы и в качестве директив для плавающих элементов,   -  person Kevin Brown    schedule 20.01.2015
comment
@KevinBrown: действительно, я также пытался решить эту проблему, используя float:outside, но это не очень хорошо сработало... тогда все еще нужны разные отступы для левой/правой страниц в этом поле...   -  person ToFi    schedule 21.01.2015
comment
Извините, я не могу визуализировать то, что вы хотите, без изображения.   -  person Kevin Brown    schedule 21.01.2015


Ответы (1)


Если вы используете PrinceXML, он определенно поддерживает поля внутри и снаружи. Я использовал его для выкладывания романа:

@page {
  size: 6in 9in;
  margin-inside: 0.75in;
  margin-outside: 0.625in;
  margin-top: 1in;
  margin-bottom: 1in
}
person William Hertling    schedule 27.02.2015