Использование процентов для текста CSS - как остановить наследование размера шрифта от родителя - PullRequest
1 голос
/ 13 октября 2009

У меня есть что-то вроде этого

 <body>
    <h2>
    Blue 
    <span>
    <a ....>add to combo</a>
    </span>
    </h2>
  </body>

и css

#body {font-size: 100%}
h2{font-size: 200%}
a{font-size: 80%}

Теперь я читаю и понимаю, что ссылка будет не 80% от 100%, а 80% от 200% (из 100%), потому что проценты взяты из размеров родителей.

Однако я бы хотел, чтобы все мои объявления размера шрифта в процентах не наследовались, а просто рассчитывались исходя из некоторого базового размера шрифта для всего сайта, скажем, 16px?

Как ты это делаешь?

Ответы [ 3 ]

2 голосов
/ 13 октября 2009

То, что вы хотите, невозможно с вашим кодом. Вы хотите наследовать шрифт 1 определенного размера, тогда каждый размер шрифта в childNodes будет относительно родительского.

если вы хотите использовать шрифты определенного размера и не наследовать их, вам следует явно установить их

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

http://www.w3.org/TR/CSS2/cascade.html#specificity

0 голосов
/ 13 октября 2009

Не думаю, что вы можете переопределить наследование, так как это часть каскада каскадных таблиц стилей.

Для вашего использования вы должны будете либо явно указать размер шрифта (это может стать очень утомительным и подверженным ошибкам очень быстро) для элементов, использующих (очень) определенные селекторы, например:

h2 span a {font-size: 18px; } /* or whatever */

Или измените порядок в html, чтобы диапазон был h2, а не потомком. Я согласен, что это должно быть возможно, хотя.

0 голосов
/ 13 октября 2009

Попробуйте использовать правило "! Important":

http://www.w3.org/TR/CSS2/cascade.html#important-rules

...