Задать вопрос
BodyaFlesh
@BodyaFlesh
Front-End Developers

Почему не наследуется фон родительского блока?

На сайте установленная фоновая картинка. Поверх этой картинки я создал блок с классом ".white_bg", и вложил у него все блоки которые должны наследовать его фоновый цвет. Но цвет блоки не наследуют, фоновый цвет наследует только первый блок. В чем может быть ошибка подскажите.

Силка на пример:
https://jsfiddle.net/BodyaFlesh/rvaqzhq8/2/
  • Вопрос задан
  • 2596 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
@ukoHka
Всего понемногу
https://jsfiddle.net/rvaqzhq8/4/
Одно из решений ошибки
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Moskus
@Moskus
Начнем с того, что если у вас есть блок, внутрь которого вложены какие-то другие блоки, это дочерние блоки ничего наследовать (в том смысле, какой в это вкладывается в CSS) не должны. По умолчанию у всех этих блоков фон - transparent. (Вы это можете увидеть, если посмотрите на свою страницу отладчиком, например - Firebug, включив опцию отображения итогового стиля для элементов и не забыв включить показ свойств по умолчанию.

Далее, у вас в блоке nav лежат блоки с display:inline без всякого float, а вот в блоке div#raw все только float:left, float:right. Так что все эти блоки, которые div#raw div, они на самом деле выходят за границы самого div#raw по высоте, а вот сам div#raw имеет из-за float дочерних элементов нулевую высоту. Так что div.white_bg, в который вложены nav и div#raw тоже имеет высоту, равную всего лишь высоте nav.

На вопрос "в чем ошибка" могу дать ответ не очень приятный, но правдивый: во всем. Посидите с отладчиком, посмотрите, как на других сайтах структура делается, почитайте про использование float и display.
Ответ написан
Комментировать
DeLaVega
@DeLaVega
Верстаю, фронтэндю =)
Не совсем понятно, что значит "наследовать фон". Фон обычно устанавливается на отдельный блок. Если он нужен у разных блоков, то используйте этот фон в отдельном классе и подключайте его там, где должен быть данный фон.

Если мой ответ не достаточно корректен, то вам следовало бы более правильно изложить, что у вас не получается.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы