2010-11-28 2 views
3

Мы все знаем, что упругое расположение «эм» значение для данного объекта относительно родительского объекта, например:Как сделать DIV наследует это «эм» значение от родителя своего родителя

<div id="div1" style="font-size:1em;">
<p>Hello</p>
<div id="div2" style="font-size:0.5em;">
<p>Hello</p>
<div id="div3" style="font-size:0.5em;">
<p>Hello</p>
</div>
</div>
</div>

Но можно сделать подчиненным ДИВ «сбросить» это значение эм, или получить его значение от родителя выше цепь?

В принципе, у меня есть некоторые вложенные DIV, и я хочу, чтобы один из внутренних использовал собственное значение em. Использование 1em не подходит, поскольку один из родителей DIV уже использует дробное значение.

Заранее спасибо

Simon

ответ

4

Нет, это не так. размер шрифта, установленный с помощью блока em, явно относится к размеру родительского элемента.

Ближе всего вы можете знать все изменения и учитывать их при расчете.

например. так как # div2 имеет размер шрифта 0.5em, чтобы сделать # div3 с тем же размером шрифта, что и # div1, вам нужно будет установить font-size: 2em

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

0

Вы можете пересмотреть использование CSS классов вместо стилей, так как это позволит решить вашу проблему. Есть ли причина, по которой вы используете стиль вместо CSS-класса?

<div id="div1"> 
<p class="font1em">Hello</p> 
<div id="div2"> 
<p class="fonthalfem">Hello</p> 
<div id="div3"> 
<p class="fonthalfem">Hello</p> 
</div> 
</div> 
</div> 
+0

Я не думаю, что существует какая-либо разница. `Font-size` устанавливается с использованием стилей элементов или классов css. Размер шрифта, выраженный в `em`, является относительным в любом случае. – Athari 2010-11-28 21:31:44

+0

Спасибо Эрик. Приведенный выше пример должен был продемонстрировать проблему; Обычно я использую классы. Как сказал Атари, проблема остается! – 2010-11-28 21:41:08

 Смежные вопросы

  • Нет связанных вопросов^_^