Javascript-准确获取元素框阴影细节
Javascript - getting element box-shadow details accurately
我有点不知所措。。
几乎每个css属性都有独立的部分IE.
margin-left
border-top-color
transition-duration
然而,我四处搜索了一下,在我看来box-shadow
的情况并非如此。例如,我有4个<input>
,H Spread
&V Spread
&Blur
&Color
。我不想在这些字段的变化上改变元素框阴影。在发现盒子阴影没有任何细节后,我决定最好的方法是使用类似的东西将box-shadow
拆分为Array
element.style.boxShadow.split(' ');
然而,结果并没有按照Fiddle 中所示的正确顺序返回
<div id="test" style="box-shadow: 1px 1px 3px #999;"> Welcome </div>
console.log( element.style.boxShadow.split(' ') );
导致该输出["rgb(153,", "153,", "153)", "1px", "1px", "3px"]
颜色不同,订单也发生了变化,这对我来说听起来不太可靠。
有没有一种方法可以准确地获取/设置box-shadow
的不同部分
如果有解决方案的话,我也在使用Zepto.js。
我试过.css();
=同样的结果。
我希望这将帮助您实现目标。我制作了一个正则表达式,它与浏览器输出的内容相匹配(rgb只是rgb的十六进制)。它可能需要更新,因为我没有在所有浏览器中测试它,但我认为它会将它转换为rgb,所以如果有alpha,可以很容易地处理。
小提琴在这儿:http://jsfiddle.net/HQ7NF/2/
这是我正在使用的正则表达式:
var reBoxShadow = /(?:rgb'(('d+), ?('d+), ?('d+)')([^,]*))+/g;
while ( style = reBoxShadow.exex(element.style.boxShadow) ) {
/* this is where stuff happens */
}
然后,我将颜色和参数拆分为单独的变量,这样您就可以决定如何处理它们。我希望这至少能让你走上正轨。
相关文章:
- 带有填充属性的SVG矩形显示在包含元素的上方插入框阴影
- 如何在master中调用细节网格作为单击事件
- 阴影盒未定义
- three.js:如何让透明的png精灵投射和接收阴影
- 如何在d3.js饼图或圆环图中添加阴影
- 在d3.js圆中添加阴影效果
- 覆盖twitter引导程序Textbox发光和阴影
- ThreeJS怪异条纹阴影
- 谷歌位置api获取细节,并不是每个地方都返回
- Three.js.obj阴影不起作用
- 记住在剑道UI中刷新时展开的细节网格
- highcharts:更改工具提示和阴影(悬停)的标准位置
- 动画文本阴影以淡入淡出
- 删除高图表数据标签上的阴影/背景发光
- 使用 Javascript 更改阴影而不使用 jQuery
- 这是JavaScript中变量阴影的一个例子吗?
- 使用 D3.js 单击圆圈时生成阴影
- 在画布中绘制对象的阴影
- 剪裁的文本和阴影
- Javascript-准确获取元素框阴影细节