【发布时间】:2011-10-21 15:55:35
【问题描述】:
如何解析 CSS background-image,它支持多个值,可能是 none 和具有多个逗号分隔参数的函数(例如 url() 和 linear-gradient())?我似乎无法用正则表达式正确地做到这一点。一个好的测试用例如下:
linear-gradient(top left, red, rgba(255,0,0,0))
, url(a)
, image(url(b.svg), 'b.png' 150dpi, 'b.gif', rgba(0,0,255,0.5))
, none
我想将其转换为以下数组:
[
"linear-gradient(top left, red, rgba(255,0,0,0))"
, "url(a)"
, "image(url(b.svg), 'b.png' 150dpi, 'b.gif', rgba(0,0,255,0.5))"
, "none"
]
【问题讨论】:
-
这只是一个例子。可能是 40
url()s,然后是一些渐变。 -
是否有浏览器支持
image(...或linear-gradient(...forbackground-image?很确定 FF 和 Chrome 不会。 -
是的,他们支持
linear-gradient()。至于image(),他们支持解析它,这样如果有多个背景图像,他们可以跳过它。 -
哦really?也许你有一个例子? Here's one of mine.
-
这是徒劳的,与我的问题完全无关。他们当然支持它,它只是供应商前缀。
标签: javascript css regex