Я хочу, чтобы определить, что каждое свойство, которое позволяет процент относительно.
В соответствии с текущей спецификацией W3 CSS:
Процентные значения всегда относятся к другому значению, например, к длине. Каждое свойство, которое позволяет проценты, также определяет значение, на которое указывает процент. Значение может быть значением другого свойства для того же элемента, свойства для элемента предка или значения контекста форматирования ( например, ширина содержащего блока). Когда задано значение процента для свойства корневого элемента, а процент определяется как относящийся к унаследованному значению некоторого свойства, результирующее значение представляет собой процентное значение, умноженное на начальное значение этого свойства.
Я хочу определить, какое значение должен быть основан на проценте элемента. Я хочу ссылаться:
- Элемент предка, на котором основан процент свойства.
- Свойство указанного элемента содержит процент свойства.
У меня много раз возникали проблемы с процентным значением свойств line-height
(основанных на font-size
) и padding
и margin
(, который основан на на width
даже для padding-top
и padding-bottom
/margin-top
и margin-bottom
). Я понимаю, что в настоящее время нет способа делать то, о чем я говорю, но я просмотрел спецификацию CSS для всего, что связано с этим, и я пришел с пустыми руками.
Есть ли что-нибудь в текущей спецификации (которую я не смог найти), которая позволяет то, что я пытаюсь сделать? Если в спецификации нет ничего, есть:
- Любые дискуссии/идеи об этой концепции?
- По какой-то причине я думаю о невозможности?
Мне кажется, что это должно быть возможно как свойство таким же образом transition
.
syntax: <single-relative-property> || [none | this | parent] || <single-relation-property>
Пример
.text{line-height:100%;relative:line-height height;}
Этот элемент line-height
имеет 100%
своего собственного height
.
.text{padding:5% 0;relative:padding-top parent height, padding-bottom parent height;}
Этот элемент padding-top
и padding-bottom
являются 5%
этого родителя height
.
Обратите внимание: я знаю, что для некоторых из этих вещей есть работа. Я также знаю, что все это можно сделать с помощью javascript. Мне более любопытно, если об этом когда-либо говорили/упоминались где-нибудь, и если не почему? Потому что кажется, что это может быть что-то полезное.
Я также понимаю, что в макете flexbox свойства padding
и margin
основаны на их процентах с уважением, что является удивительным. Но это не то, что я ищу.