2016-07-30 4 views
0

CSS3 градиент не работает на всех браузерах он работает на хроме только мой кодCSS3 градиент не работает на всех браузерах

<nav class="navbar navbar-default navbar-fixed-top" style="background: -webkit-gradient(linear, 31% 60%, 24% 96%, from(#0071BC), to(#FFFFFF), color-stop(.5,#0071BC)) !important; background: -o-gradient(linear, 31% 60%, 24% 96%, from(#0071BC), to(#FFFFFF), color-stop(.5,#0071BC)) !important; background: -moz-gradient(linear, 31% 60%, 24% 96%, from(#0071BC), to(#FFFFFF), color-stop(.5,#0071BC)) !important; border:2px white solid !important;box-shadow:black 2px 2px 2px;padding-bottom:40px; min-height:100px !important;border-bottom-right-radius: 20% !important;border-bottom-left-radius: 20% !important;"> 

ответ

2

Пожалуйста, проверьте способ добавить градиент

EX:

<nav class="navbar navbar-default navbar-fixed-top" style="fill: #55bbeb; 
    background: #55bbeb; 
    background: -moz-linear-gradient(90deg, #55bbeb 0%, #84c450 100%); 
    background: -webkit-linear-gradient(90deg, #55bbeb 0%, #84c450 100%); 
    background: -o-linear-gradient(90deg, #55bbeb 0%, #84c450 100%); 
    background: -ms-linear-gradient(90deg, #55bbeb 0%, #84c450 100%); 
    background: linear-gradient(90deg, #55bbeb 0%, #84c450 100%);"> 
+0

Пожалуйста, убедитесь, что у меня нет css-inline, поскольку @ alberto2000 отказался ... Спасибо! – vignesh

1

Прежде всего, вы должны перенести свой CSS из строки в внешний файл CSS, чтобы разделить проблемы HTML и CSS. Затем, как указал vignesh, вы должны учитывать префиксы поставщика браузера. Вы можете написать их вручную, но лучший способ - использовать какую-то автоматизацию, я лично рекомендовал бы Sass либо Compass, либо Bourbon или, если вы работаете с Gulp use gulp-autoprefixer - это не только добавит необходимые префиксы автоматически, но также позволит вам использовать гораздо более простой способ записи css3-функций, таких как градиенты с использованием mixins.

2

Если вам нужна поддержка от IE9, использовать SVG (работа во всех других браузерах ни IE, так что не требуется запасной вариант)

div { 
 
    height: 200px; 
 
} 
 
.gradient { 
 
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' height='100' width='100'%3E %3Cdefs%3E %3ClinearGradient id='grad1' x1='0%25' y1='0%25' x2='100%25' y2='0%25'%3E  %3Cstop offset='0%25' style='stop-color:rgb(255,255,0);stop-opacity:1' /%3E  %3Cstop offset='100%25' style='stop-color:rgb(255,0,0);stop-opacity:1' /%3E %3C/linearGradient%3E %3C/defs%3E %3Crect width='100' height='100' fill='url(%23grad1)' /%3E%3C/svg%3E") center/cover; 
 
}
<div class="gradient"></div>

Raw SVG (которые были urlencoded в вышеприведенном образце)

<svg xmlns='http://www.w3.org/2000/svg' version='1.1' height='100' width='100'> 
    <defs> 
    <linearGradient id='grad1' x1='0%' y1='0%' x2='100%' y2='0%'> 
     <stop offset='0%' style='stop-color:rgb(255,255,0);stop-opacity:1' /> 
     <stop offset='100%' style='stop-color:rgb(255,0,0);stop-opacity:1' /> 
    </linearGradient> 
    </defs> 
    <rect width='100' height='100' fill='url(#grad1)' /> 
</svg>