CSS: есть ли способ вставить содержимое атрибута в виде текста в мой вывод?

Обычно CSS работает путем сопоставления имен элементов в HTML:p.heading1 {} влияет на все элементы типа p с классом heading1.

Есть ли способ отобразить объект / текст, который существует только как атрибут?

Например, это мой HTML:

<body var="text I want to insert">
    <div class="titlepage"> 
        <p class="titlepagetext">this should also be displayed</p>

Титульный лист имеет номер <p> дети. В дополнение к ним, я хочу отобразить содержимое body/var на титульной странице.

3 ответа

Решение

Вы, вероятно, можете рассмотреть переменные CSS. Пользовательское свойство будет унаследовано всеми элементами внутри тела, и вы можете использовать псевдоэлемент, чтобы отобразить его там, где вы хотите:

.titlepage:before {
  content:var(--var);
}
<body style="--var:'text I want to insert'">
  <div class="titlepage">
    <p class="titlepagetext">this should also be displayed</p>
  </div>
</body>

AH Formatter имеет -ah-attr-from() функция расширения, которая позволит вам получить содержимое атрибута предка (см. https://www.antennahouse.com/product/ahf66/ahf-ext.html).

Вы могли бы использовать -ah-attr-from() в правиле для .titlepagetext::before,

Когда вы используете css, вы не можете указывать родителя. Нет способа получить родительский селектор. И содержание: "" может применяться только для псевдоклассов.

Другие вопросы по тегам