2009-10-13 1 views
1

у меня есть что-то вроде этогоиспользуя проценты для CSS текста - как я остановить наследование размера шрифта от родительского

<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?

Как вы это делаете?

ответ

2

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

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

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

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

+0

Но я думал, что размер шрифта для определения просто не подходит, потому что это не дает пользователю возможность установить размер, который они хотят, через браузер. Я хочу, чтобы иметь возможность устанавливать размеры моего шрифта, но если пользователь изменяет размер шрифта с помощью browswer, они могут, но мой текст будет по-прежнему пропорционален. – robodisco

+0

Если вы хотите указать размеры шрифта пропорционально, используйте блок «em» для шрифтов. –

0

Попробуйте использовать правило «важно!»:

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

+1

Не был бы, что каскад таким же образом, как описано в вопросе, если явный 'шрифта size' было дано? –

+0

Я также предлагаю вам использовать инструмент, подобный «Firebug», чтобы жить, редактировать/просматривать ваши свойства CSS, чтобы играть с ними. Одна из приятных особенностей этого инструмента заключается в том, что он покажет вам, какие именно свойства оцениваются и которые переопределены, и почему. –

+0

, если вы используете важное правило, редактирование будет сложнее во времени. Попытайтесь выяснить, как работают «каскадные» правила в css. http://www.w3.org/TR/CSS2/cascade.html#specificity –

0

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

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

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

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