Различные значения свойств CSS в зависимости от выбора @страницы

#html #css #css-selectors #css-paged-media #antenna-house

Вопрос:

Мне нужно отобразить «вкладку» с правой стороны всех :первых и :правых страниц. Вкладки должны находиться в одном и том же положении на всех страницах.

Это мой макет HTML:

 lt;?xml version="1.0" encoding="UTF-8"?gt; lt;htmlgt;  lt;head/gt;  lt;tab class="tab1"gt;RGlt;/tabgt;  lt;bodygt;  lt;sectiongt;  lt;pgt;All my contentlt;/pgt;.  lt;/sectiongt;  lt;/bodygt; lt;/htmlgt;  

К сожалению, :первая и :правая страницы имеют разные поля, поэтому приведенный ниже CSS приводит к тому, что вкладки находятся в разных положениях в зависимости от страницы:

 @page :first {  size: A4;  margin-top: 72mm;  @right-top {  content: element(rightTab);  }  } @page :right{  size: A4;   margin-top: 32mm;   @right-top {  content: element(rightTab);  } } tab{  position:running(rightTab); } .tab1{  margin-top:50mm; }  

Можно ли установить другое значение для верхнего поля в зависимости от выбора страницы? Например, 50 мм на :первых страницах и 90 мм на :правых страницах?

Ответ №1:

Желающих нет? Вот мое мнение. Нет, изменить значение свойства в зависимости от выбора страницы невозможно. Или, по крайней мере, я ничего не нашел об этом в спецификации.

Это невозможно сделать на уровне класса, но, конечно, можно изменить свойства страницы в зависимости от селектора.

Соответственно, я изменил поля страницы, чтобы вкладка теперь отображалась в одном и том же месте на обеих страницах. Поле свойства-верх в соответствующей области (@справа вверху @страницы :первый) теперь установлено равным-40 мм, так что эффективное поле в области будет одинаковым (72-40 = 32 мм) как для @страницы :первый, так и для @страницы :справа.

 @page :first {  size: A4;  margin-top: 72mm;  @right-top {  margin-top:-40mm;  content: element(rightTab);  }  } @page :right{  size: A4;   margin-top: 32mm;   @right-top {  content: element(rightTab);  } } tab{  position:running(rightTab); } .tab1{  margin-top:50mm; }  

Хорошо, если бы я подумал об этом еще несколько минут, я мог бы понять это без публикации.

Комментарии:

1. С другой стороны, публикация этого сейчас означает, что кто-то, у кого в будущем возникнет та же проблема, найдет ваш пост