Я хочу, чтобы определить, что каждое свойство, которое позволяет процент относительно.
В соответствии с текущей спецификацией 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 основаны на их процентах с уважением, что является удивительным. Но это не то, что я ищу.