Линейный градиент не соответствует элементу, которому он принадлежит - PullRequest
0 голосов
/ 07 марта 2012

Мне было трудно понять, почему линейный градиент, заданный для элемента body, останавливается после края одного из его дочерних элементов.

Итак, у меня есть этот HTML:

<!DOCTYPE html>
<html>
    <head>
        <style>
            #container {
                width: 960px;
                height: 700px;
                border: #FFF thick solid;
                margin: auto;
            }
            body {
                background: -webkit-gradient(linear, 0% 0%, 71% 92%, from(#1F4BA0), to(#070322));
                background: -moz-linear-gradient(40% 75% 90deg,#1F4BA0, #070322);
                color: #FFF; border:0px; margin:0px; padding:0px;
            }
        </style>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
        <div id="container"></div>
    </body>
</html>

И вот как в итоге будет выглядеть страница (обратите внимание, повторяющийся градиент спускается по странице): Screenshot of repeating gradient

Итак, проблема в том, что градиент заканчивается в нижней части элемента #container, а не продолжается до конца тела. Несмотря на то, что градиент объявлен явно в элементе body body.

Может кто-нибудь еще помочь мне здесь? Очень ценится!

Примечание: также происходит с использованием префикса -moz в FF.

Прочтение этого сделало меня более смущенным: «Конкретный размер [линейного градиента] будет соответствовать тому элементу, к которому он применяется». Это от Mozilla напрямую

Ответы [ 2 ]

1 голос
/ 07 марта 2012

Я исправил проблему, используя это:

<!DOCTYPE html>
<html>
    <head>
        <style>
            #main {

               background: -webkit-gradient(linear, 0% 0%, 71% 92%, from(#1F4BA0), to(#070322));
               background: -moz-linear-gradient(40% 75% 90deg,#1F4BA0, #070322);
               height:2300px;

            }

            #container {
                width: 960px;
                height: 700px;
                border: #FFF thick solid;
                margin: auto;
            }
            body { 
                color: #FFF; border:0px; margin:0px; padding:0px;
            }
        </style>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
        <div id="main">
            <div id="container"></div>
        </div>
    </body>
</html>
0 голосов
/ 07 марта 2012

Это потому, что высота тела становится высотой контейнера, которая составляет 960 пикселей.Изучите скрипку ниже, я установил высоту и ширину кузова на 100%, так что теперь она не должна резко заканчиваться, когда заканчивается контейнер.Надеюсь, это поможет.http://jsfiddle.net/fNFfW/1/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...