有没有办法在 css/html/javascript 中进行渐变,只适用于所有主要浏览器?(MS IE 5+、Firefox、Opera、Safari)?
编辑:我想为背景(标题、主面板、侧面板)执行此操作。另外,也希望有垂直线渐变。
编辑:阅读回复后,让我们也将其开放给 Javascript 解决方案,因为 HTML/CSS 本身使其更难实现。
有没有办法在 css/html/javascript 中进行渐变,只适用于所有主要浏览器?(MS IE 5+、Firefox、Opera、Safari)?
编辑:我想为背景(标题、主面板、侧面板)执行此操作。另外,也希望有垂直线渐变。
编辑:阅读回复后,让我们也将其开放给 Javascript 解决方案,因为 HTML/CSS 本身使其更难实现。
我以前做过这个作为一个噱头,使用像这样的javascript:
var parent = document.getElementByID('foo');
for(var i=0; i< count; i++) {
var div = document.createElement('div');
div.style.position = 'absolute';
div.style.width='100%';
div.style.height = 1/count+"%";
div.style.top = i/count+"%";
div.style.zIndex = -1;
parent.appendChild(div);
}
如果您的要求只是要有一个渐变,那么您真的应该在 css 中使用设置为背景图像的渐变图像。就我而言,我也在为渐变的颜色和位置设置动画。我现在不能保证它是跨浏览器(对于初学者,请确保父级应用了一些位置,否则它将不是绝对定位的位置容器。
我不清楚您正在寻求的实施细节(例如背景,或者只是窗口一侧的边框等);然而,这可能虽然有点乏味。
想到的一个例子是拥有 n 块级元素,例如 div,然后给它们每个小高度(例如几个像素),然后逐渐改变每个后续元素的背景颜色。
我使用 colorzilla 的渐变 CSS 代码生成器:http: //www.colorzilla.com/gradient-editor/
它有 IE 的 polyfills - 但不确定它有多远。
There are lots of ways to create a gradient now. 1. You can create image for it. 2. Use CSS3 Gradient, it can be linear, radial and repeating.
Syntax for linear :
linear-gradient: ([angle | to ] ,[ [color-stop], [color-stop]+);
Syntax for radial :
linear-gradient: ([angle | to ] ,[ [color-stop], [color-stop]+);
For IE6 to IE 9 we can use the filter property or you can also use CSS3Pie.
Following are some referances that will help:
我认为简短的回答是否定的。
您可以仅使用 css 创建看起来像渐变的东西,但是然后像图像背景一样使用它......我认为这有点推动它。
编辑(感觉很傻)
我找到了解决方案:http ://en.wikipedia.org/wiki/JPEG