2014-10-22 2 views
-3

У меня есть следующий фрагмент кода:Свойства CSS не наследуются?

<div style='width:50%;background:yellow;margin:0 auto;padding:20px;font-family:Calibri;'> 
    Parent div 
    <div style='background:lime;'> 
     Child div 
    </div> 
</div> 

Здесь стиль font-family:Calibri; является автоматически наследуется в ребенка-DIV, в то время как другие стили остаются завещал (ип-наследуется).

Адрес DEMO.

DEMO after defining same padding for child-div.

Как видите, результат NOT такой же.

Почему это так? Существуют ли какие-либо конкретные стили, которые наследуются? Если так, то кто они?

+0

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

+0

попробуйте добавить «padding: 20px» к дочернему div, вы увидите разницу :) проверьте это: http://jsbin.com/gatazulari/1/edit?html , выход –

+0

причина для downvote? –

ответ

2

Некоторые свойства наследуются, а некоторые нет.

  • width. Унаследовано: нет
  • background. Наследование: нет
  • margin. Наследование: нет
  • padding. Унаследовано: нет
  • font-family. Унаследовано: yes

Если вы хотите, чтобы какой-либо элемент наследовал значение не наследуемого свойства от его родителя, вы можете использовать inherit value.


Я предлагаю читать Inheritance раздел спецификации:

Некоторые значения наследуются потомками элемента в дереве документа, как описано выше. Каждое свойство определяет, наследуется оно или нет.

При наследовании элементы наследуют вычисленные значения. Вычисленное значение из родительского элемента становится как заданным значением, так и вычисленным значением для дочернего элемента.

Каждое свойство может также иметь каскадное значение 'inherit', что означает, что для данного элемента свойство принимает то же указанное значение, что и свойство для родителя элемента. Значение «inherit» может использоваться для обеспечения наследования значений, а также может использоваться для свойств, которые обычно не наследуются.

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