Проблема с радиальным градиентом Firefox

#firefox #css #gradient #radial-gradients

#firefox #css #градиент #radial-градиенты

Вопрос:

Пытаюсь установить радиальный градиент для bg. Проблема в том, что во всех других браузерах отображается градиент, в Firefox — нет. Что не так? Сгенерировал этот код на этом веб-сайте http://www.colorzilla.com/gradient-editor (с поддержкой ie9)

 background: rgb(255,255,255);
background: url(data:image/svg xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI CiAgPHJhZGlhbEdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY3g9IjUwJSIgY3k9IjUwJSIgcj0iNzUlIj4KICAgIDxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiIHN0b3Atb3BhY2l0eT0iMSIvPgogICAgPHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjZWFlYWVhIiBzdG9wLW9wYWNpdHk9IjEiLz4KICA8L3JhZGlhbEdyYWRpZW50PgogIDxyZWN0IHg9Ii01MCIgeT0iLTUwIiB3aWR0aD0iMTAxIiBoZWlnaHQ9IjEwMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc );
background: -moz-radial-gradient(center, ellipse cover,  rgba(255,255,255,1) 0%, rgba(234,234,234,1) 100%);
background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%,rgba(255,255,255,1)), color-stop(100%,rgba(234,234,234,1)));
background: -webkit-radial-gradient(center, ellipse cover,  rgba(255,255,255,1) 0%,rgba(234,234,234,1) 100%);
background: -o-radial-gradient(center, ellipse cover,  rgba(255,255,255,1) 0%,rgba(234,234,234,1) 100%);
background: -ms-radial-gradient(center, ellipse cover,  rgba(255,255,255,1) 0%,rgba(234,234,234,1) 100%);
background: radial-gradient(center, ellipse cover,  rgba(255,255,255,1) 0%,rgba(234,234,234,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#eaeaea',GradientType=1 );
  

Комментарии:

1. Какая версия FF у вас есть?

2. версия 8.0. вы ее тестировали?

3. tural.no-ip.org живая страница. пожалуйста, взгляните. Может быть, это из-за моего плохого

Ответ №1:

Вам нужно добавить это:

 html {
    height: 100%;
}
  

Поскольку все элементы внутри body расположены абсолютно, body не имеет высоты.

Вы добавили height: 100% в body , но html также не было height , поэтому height: 100% on body ничего не делал.

Добавление height: 100% в html делает его таким же высоким, как окно просмотра, поэтому height: 100% on body работает.

Комментарии:

1. белый элемент должен быть в центре bg. Но IE9 отображается в левом верхнем углу

2. Причина этого в том, что filter также применяется. Внимательно прочитайте инструкции по colorzilla.com/gradient-editor («Поддержка IE9 (?)») . "Support for full multi-stop gradients with IE9 (using SVG). Add a "gradient" class to all your elements that have a gradient, and add the following override to your HTML to complete the IE9 support: <!--[if gte IE 9]> <style type="text/css"> .gradient { filter: none; } </style> <![endif]-->"

3. Ваш градиент очень тонкий, из-за чего на первый взгляд трудно определить разницу между версией radial и filter версией. Подумайте о том, чтобы сделать градиент более очевидным.