首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >线性-梯度在移动web浏览器中不起作用

线性-梯度在移动web浏览器中不起作用
EN

Stack Overflow用户
提问于 2012-07-12 04:56:22
回答 3查看 14.4K关注 0票数 6

我正在写一个移动web应用程序,我想知道是否有人可以帮助我理解和修复这些线性梯度,以便它们在Safari-mobileAndroid-browser中都能工作。

我相信我正确地使用了每个供应商前缀,我甚至提供了一个后备背景色,但每当我在移动设备上查看应用程序时,应用渐变的背景元素都是透明的。换句话说,背景是透明的,渐变不会显示在移动设备上。这意味着,即使是后备颜色也不起作用。

有没有人可以帮我修复这些渐变,让它们在桌面和移动设备上都能工作,并教我如何做回退背景颜色和背景图像?

我将非常感谢任何人和所有的帮助!

这是我到目前为止所知道的:

代码语言:javascript
复制
background:#fff;
background:transparent -ms-linear-gradient(top, rgba(255,255,255,.65), rgba(255,255,255,.9));
background:transparent url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEwMCAxMDAiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPjxsaW5lYXJHcmFkaWVudCBpZD0iaGF0MCIgZ3JhZGllbnRVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giIHgxPSI1MCUiIHkxPSIxMDAlIiB4Mj0iNTAlIiB5Mj0iLTEuNDIxMDg1NDcxNTIwMmUtMTQlIj4KPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZiIgc3RvcC1vcGFjaXR5PSIwLjY1Ii8+CjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2ZmZiIgc3RvcC1vcGFjaXR5PSIwLjkiLz4KICAgPC9saW5lYXJHcmFkaWVudD4KCjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiBmaWxsPSJ1cmwoI2hhdDApIiAvPgo8L3N2Zz4=);
background:transparent -o-linear-gradient(90deg, rgba(255,255,255,.65) 0%, rgba(255,255,255,.9) 100%);
background:transparent -moz-linear-gradient(90deg, rgba(255,255,255,.65) 0%, rgba(255,255,255,.9) 100%);
background:transparent -webkit-gradient(linear, 0%, 0%, 0%, 100%, from(rgba(255,255,255,.65), to(rgba(255,255,255,.9));
background:transparent -webkit-linear-gradient(90deg, rgba(255,255,255,.65) 0%, rgba(255,255,255,.9) 100%);
background:transparent linear-gradient(90deg, rgba(255,255,255,.65) 0%, rgba(255,255,255,.9) 100%);

提前感谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-07-12 05:24:41

这应该适用于所有刚测试过的浏览器(甚至是移动浏览器):

代码语言:javascript
复制
#element {
    background: -moz-linear-gradient(black, transparent); /* FF 3.6+ */  
    background: -ms-linear-gradient(black, transparent); /* IE10 */  
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #000000), color-stop(100%, #ffffff)); /* Safari 4+, Chrome 2+ */  
    background: -webkit-linear-gradient(black, transparent); /* Safari 5.1+, Chrome 10+ */  
    background: -o-linear-gradient(black, transparent); /* Opera 11.10 */  
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#000000', endColorstr=transparent); /* IE6 & IE7 */  
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#000000', endColorstr=transparent)"; /* IE8+ */  
    background: linear-gradient(black, transparent); /* the standard */  
    z-index: 1;
}

在浏览器上查看这两个很好的css网站:

  • Site 1
  • Site 2

(我用这个演示)在iOS 5.1.1上测试了它

希望它能帮上忙!

票数 7
EN

Stack Overflow用户

发布于 2014-11-25 12:26:47

至少在移动safari中,你不能使用关键字transparent,你必须使用rgba(255,255,255,0)。证据:https://developer.apple.com/library/archive/documentation/InternetWeb/Conceptual/SafariVisualEffectsProgGuide/Gradients/Gradient.html

搜索透明,你会看到甚至在他们的官方文档中,他们使用rgba作为透明颜色。

票数 4
EN

Stack Overflow用户

发布于 2012-07-12 05:14:29

这个属性是透明的吗?

请参阅:http://www.colorzilla.com/gradient-editor/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11441357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档