繁体   English   中英

是否可以根据浏览器类型使用不同的CSS背景图像?

[英]Can I use different CSS background images based on browser type?

我有一个基本的网站设计,并且为徽标创建了一个简单的SVG图像。 该图像非常基础,仅使用feOffset包含一些文本,一条折线和一个阴影效果,如对此问题的答案( 使用css3的SVG阴影)所述

在Chrome和IE10中查看时,图像看起来不错,但是在Firefox中查看时,像素看起来非常粗糙。 我基本上想知道是否可以添加依赖于浏览器类型的背景图像,以便为每个浏览器创建一个可接受的图像。

if (browser == X)
{ 
   use image Y
}
else
{
   use image Z
}

但仅使用CSS和/或HTML(我不了解javascript或jQuery)。

考虑到我的图像的基本知识,我不敢相信我是唯一遇到此问题的人,所以我想知道网页设计师如何解决此问题,因为我能想到的唯一解决方案是创建栅格图像而不是SVG。但这是我真的想避免的东西。

是的,您可以,但是它很hacky。 您必须以只能由特定浏览器读取的方式创建和定位元素。

css-tricks.com复制和修改

/***** Selector Hacks ******/

/* IE6 and below */
* html #uno  { 
background-image: url(blabla.jpg) }

/* IE7 */
*:first-child+html #dos { background-image: url(blabla.jpg) } 

/* IE7, FF, Saf, Opera  */
html>body #tres { background-image: url(blabla.jpg) }

/* IE8, FF, Saf, Opera (Everything but IE 6,7) */
html>/**/body #cuatro { background-image: url(blabla.jpg) }

/* Opera 9.27 and below, safari 2 */
html:first-child #cinco { background-image: url(blabla.jpg) }

/* Safari 2-3 */
html[xmlns*=""] body:last-child #seis { background-image: url(blabla.jpg) }

/* safari 3+, chrome 1+, opera9+, ff 3.5+ */
body:nth-of-type(1) #siete { background-image: url(blabla.jpg) }

/* safari 3+, chrome 1+, opera9+, ff 3.5+ */
body:first-of-type #ocho {  background-image: url(blabla.jpg) }

/* saf3+, chrome1+ */
@media screen and (-webkit-min-device-pixel-ratio:0) {
 #diez  { background-image: url(blabla.jpg)  }
}

/* iPhone / mobile webkit */
@media screen and (max-device-width: 480px) {
 #veintiseis { background-image: url(blabla.jpg)  }
}

/* Safari 2 - 3.1 */
html[xmlns*=""]:root #trece  { background-image: url(blabla.jpg)  }

/* Safari 2 - 3.1, Opera 9.25 */
*|html[xmlns*=""] #catorce { background-image: url(blabla.jpg)  }

/* Everything but IE6-8 */
:root *> #quince { background-image: url(blabla.jpg)  }

/* IE7 */
*+html #dieciocho {  background-image: url(blabla.jpg) }

/* Firefox only. 1+ */
#veinticuatro,  x:-moz-any-link  { background-image: url(blabla.jpg) }

/* Firefox 3.0+ */
#veinticinco,  x:-moz-any-link, x:default  { background-image: url(blabla.jpg)  }

您完全不愿意通过jQuery做到这一点吗? 这样会容易得多。

window.navigator对象包含有关访问者浏览器的信息,使用navigator对象可以使用javaScript设置css。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM