我想获得边框渐变(从顶端:#0c93c0;到底部:白色)。我想知道,有没有什么办法让css3为webkit和moz浏览器? THX提前跨浏览器边框渐变
跨浏览器边框渐变
回答
而不是边界,我会使用背景渐变和填充。相同的外观,但更容易,更支持。
一个简单的例子:
<div class="g">
<div>bla</div>
</div>
CSS:
.g {
background-image: -webkit-linear-gradient(top, #0c93C0, #FFF);
background-image: -moz-linear-gradient(top, #0c93C0, #FFF);
background-image: -ms-linear-gradient(top, #0c93C0, #FFF);
background-image: -o-linear-gradient(top, #0c93C0, #FFF);
background-image: linear-gradient(top, #0c93C0, #FFF);
padding: 1px;
}
.g > div { background: #fff; }
+1将其恢复为零。我不知道为什么它被低估。 –
@RobW我认为它是低调的,因为缺乏优雅(添加额外的标记不是优雅的)。 –
小提琴:http://jsfiddle.net/9ZDTA/
添加额外的声明要支持的每个浏览器引擎,使用特定的前缀。
background-color: #0c93C0; /* fallback color if gradients are not supported */
background-image: -webkit-linear-gradient(top, #0c93C0, #FFF);
background-image: -moz-linear-gradient(top, #0c93C0, #FFF);
background-image: -ms-linear-gradient(top, #0c93C0, #FFF);
background-image: -o-linear-gradient(top, #0c93C0, #FFF);
background-image: linear-gradient(top, #0c93C0, #FFF); /* standard, but currently unimplemented */
请参阅this source。
那是什么?我想要'边界'渐变。我的意思是边框:1px,固体...不是“背景” –
Mozilla不支持边框渐变。我展示了一个跨浏览器的方式来显示'背景渐变'。当Mozilla添加对边界渐变的支持时,您可以使用我的答案作为跨浏览器支持的基础。 –
使用less.css(当然你可以不用还),关键是在pseudoselectors(:before和:after ):
1.定义跨浏览器梯度:
.linear-gradient (@dir, @colorFrom, @colorTo) { background: -webkit-linear-gradient(@dir, @colorFrom, @colorTo); background: -moz-linear-gradient(@dir, @colorFrom, @colorTo); background: -ms-linear-gradient(@dir, @colorFrom, @colorTo); background: -o-linear-gradient(@dir, @colorFrom, @colorTo); }
2.定义边界梯度束:
.border-gradient(@colorFrom, @colorTo){ border-top:1px solid @colorFrom; border-bottom:1px solid @colorTo; position:relative; .border-bundle(@colorFrom, @colorTo){ position:absolute; content:""; width:1px; height:100%; top:0; .linear-gradient(top, @colorFrom, @colorTo); } &:before{ .border-bundle(@colorFrom, @colorTo); left: 0; } &:after { .border-bundle(@colorFrom, @colorTo); right:0; } }
我们现在可以这样使用它:
.some-class{ /* other properties */ .border-gradient(#0c93c0, #FFF); }
使用更少!可悲的是,这个问题并没有要求它,所以不能upvote。另外,添加最后两行时会出错('&:before [...]'和'&:after [...]')。 –
错误提示是: '.border-bundle(,,,)'找不到匹配的定义' –
- 1. CSS渐变跨浏览器
- 2. 跨浏览器渐变问题
- 3. 跨浏览器线性渐变
- 4. CSS跨浏览器弯曲边框
- 5. 在IE浏览器中没有显示渐变css边框firefox
- 6. 边框渐变
- 7. 如何实现跨浏览器不透明度渐变(不是颜色渐变)
- 8. 跨浏览器浮动框
- 9. 跨浏览器文本渐变和笔画
- 10. Twitter引导:跨浏览器圆角和渐变?
- 11. 跨浏览器的CSS背景图像与线性渐变
- 12. 跨浏览器背景 - 渐变加图像
- 13. 实现跨浏览器渐变的CSS前缀
- 14. 跨浏览器的线性渐变规则
- 15. CSS渐变边框:
- 16. 跨浏览器弯曲的边界
- 17. 跨浏览器边栏组件
- 18. CSS3渐变多个浏览器
- 19. 渐变不适用于IE浏览器
- 20. IE浏览器的CSS渐变高度?
- 21. CSS浏览器检测径向渐变?
- 22. CSS渐变为所有Web浏览器
- 23. 使边框消失的渐变边框
- 24. 如何使CSS三角形(有边框)跨浏览器
- 25. 跨浏览器与多浏览器
- 26. 单击渐变边框
- 27. UIPickerView删除渐变边框
- 28. CSS线性渐变边框
- 29. 边框上使用渐变
- 30. 底部渐变边框
这似乎掩盖它:http://stackoverflow.com/questions/2717127/css3 - 渐变边界 – mwan
它只适用于-moz浏览器。它不包括webkit –
那么只需添加另一个WebKit声明? – BoltClock