2013-12-15 2 views
3

Когда я добавляю градиент фона на мою веб-страницу, он работает отлично до конца последнего контейнера в моем элементе тела. После этого градиент перестает работать, и вы видите отчетливый контраст между концом контейнера и остальной частью пустой страницы.Фоновый градиент не отображается правильно с загрузочной загрузкой 3

Чтобы увидеть для себя:

Загрузка веб-страницы по умолчанию из layoutit.com и редактировать CSS/style.css с:

body { 
    background: #1e5799; /* Old browsers */ 
    background: -moz-linear-gradient(top, #1e5799 0%, #207cca 30%, #2989d8 50%, #7db9e8 100%); /* FF3.6+ */ 
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#1e5799), color-stop(30%,#207cca), color-stop(50%,#2989d8), color-stop(100%,#7db9e8)); /* Chrome,Safari4+ */ 
    background: -webkit-linear-gradient(top, #1e5799 0%,#207cca 30%,#2989d8 50%,#7db9e8 100%); /* Chrome10+,Safari5.1+ */ 
    background: -o-linear-gradient(top, #1e5799 0%,#207cca 30%,#2989d8 50%,#7db9e8 100%); /* Opera 11.10+ */ 
    background: -ms-linear-gradient(top, #1e5799 0%,#207cca 30%,#2989d8 50%,#7db9e8 100%); /* IE10+ */ 
    background: linear-gradient(to bottom, #1e5799 0%,#207cca 30%,#2989d8 50%,#7db9e8 100%); /* W3C */ 
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#1e5799', endColorstr='#7db9e8',GradientType=0); /* IE6-9 */ 
} 

CSS-код был сгенерирован http://www.colorzilla.com/gradient-editor/, поэтому я довольно что это работает, потому что это кажется популярным выбором для создания градиента, и он работает на странице без начальной загрузки.

Любые идеи о том, как получить градиент для рендеринга по всей странице?

Редактировать Посмотреть пример на http://theshachar.com/so/

Спасибо!

+0

установить его в элементе 'html', а не в элементе' body'. Я так думаю, что это делает бутстрап. –

+0

Пробовал, он работает хуже. Градиент не работает в контейнере, но в нижней части страницы по-прежнему появляется начальный цвет градиента. – mlobl

+0

Интересно. У вас есть пример, на который мы можем смотреть? Возможно, сайт или пример jsFiddle? –

ответ

5

На основании вашего изменения проблема заключается в том, что фон не распространяется на высоту окна.

Чтобы решить эту проблему, просто добавьте:

html, body { 
    height:100%; 
} 

В качестве альтернативы, вы можете также использовать viewport-percentage units как vw:

body { 
    height: 100vh; 
} 

вы можете также установить min-height:

body { 
    min-height: 100vh; 
} 
+0

Спасибо, это сработало! Я попытался добавить высоту: 100%; раньше для элемента body, но это не сработало, но добавление его для элемента html получило трюк. Ради понимания исправления, зачем нужно указывать его в элементе html, а не в теле? Если вы не укажете высоту страницы, это означает, что браузер должен выяснить, как ее отобразить? Спасибо – mlobl

+0

@ user1549863 В этом случае элементом 'body' является высота содержащего содержимого. Поскольку содержимое не распространялось на нижнюю часть страницы, '100%' было бесполезно, потому что оно уже было '100%' содержимого. Установив '100%' на 'html', он существенно расширяется это высота окна. –

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