Button 如何创建具有渐变背景和背景图像的按钮?

Button 如何创建具有渐变背景和背景图像的按钮?,button,css,background-image,gradient,Button,Css,Background Image,Gradient,我正在尝试为我的asp.net 2.0网络表单使用一些。 而且,正常的输入提交按钮似乎可以在单击时轻松触发验证 但是我目前在这个页面上使用了一个由三个部分组成的图像按钮,因此它不会自动触发验证 我在看css3时发现它现在支持渐变,除了我需要在按钮的右侧显示一个箭头图像之外,它都很好 我已经测试了正常的背景图像和背景颜色,以设置一个按钮,它的工作。但是对于渐变背景和背景图像,我似乎无法得到同样的效果 <html> <head> <link rel="styleshee

我正在尝试为我的asp.net 2.0网络表单使用一些。 而且,正常的输入提交按钮似乎可以在单击时轻松触发验证

但是我目前在这个页面上使用了一个由三个部分组成的图像按钮,因此它不会自动触发验证

我在看css3时发现它现在支持渐变,除了我需要在按钮的右侧显示一个箭头图像之外,它都很好

我已经测试了正常的背景图像和背景颜色,以设置一个按钮,它的工作。但是对于渐变背景和背景图像,我似乎无法得到同样的效果

<html>
<head>
<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Droid Sans">
<style>
.button{
    -webkit-gradient(
    linear,
    left bottom,
    left top,
    color-stop(0.25, rgb(88,73,229)),
    color-stop(0.63, rgb(115,103,255)),
    color-stop(0.82, rgb(150,134,255))
);
-moz-linear-gradient(
    center bottom,
    rgb(88,73,229) 25%,
    rgb(115,103,255) 63%,
    rgb(150,134,255) 82%
);

    color:#FCD3A5;
    -webkit-border-radius: 5px; 
    -moz-border-radius: 10px;
    font: 12px;
    width:140px;
    line-height: 28px;
    height: 28px;
    font-weight: bold;
    font-family:"Droid Sans",serif;
}

.orange{
    background:-moz-linear-gradient(center top , #FF9300, #FF6800) repeat scroll 0 0 transparent;
    border:1px solid #CFCFCF;
    color:#FFFFFF;
    font: 12px;
    width:140px;
    line-height: 28px;
    height: 28px;
    font-family:"Droid Sans",serif;
    background-image:url(arrow_right.png);
    background-repeat: no-repeat; 
    background-position:right;

}

.button2{
    background-color:#2daebf;
    background-image:url(arrow_right.png);
    font: 12px;
    width:140px;
    line-height: 28px;
    height: 28px;
    font-weight: bold;
    color: white;
    font-family:"Droid Sans",serif;
    background-repeat: no-repeat; 
    background-position:120px;
    border: 0px;
    -webkit-border-radius: 5px; 
    -moz-border-radius: 10px; 
    -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5); -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5); text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.25);
}
.button3{
    background: green; /* fallback for older/unsupporting browsers */  
    background:-webkit-gradient(
        linear,
        left bottom,
        left top,
        color-stop(0.25, rgb(88,73,229)),
        color-stop(0.63, rgb(115,103,255)),
        color-stop(0.82, rgb(150,134,255))
    );
    background:-moz-linear-gradient(
        center bottom,
        rgb(88,73,229) 25%,
        rgb(115,103,255) 63%,
        rgb(150,134,255) 82%
    );
    border-top: 1px solid white;  
    background-image:url(arrow_right.png);
    background-repeat: no-repeat; 
    background-position:120px;

}

</style>
</head>
<input class="button3" type="submit" value="SUBMIT"/ >
</html>

.按钮{
-webkit梯度(
线性的
左下角,
左上角,
彩色光圈(0.25,rgb(88,73229)),
彩色光圈(0.63,rgb(115103255)),
彩色光圈(0.82,rgb(150134255))
);
-莫兹线性梯度(
中底,
rgb(88,73229)25%,
rgb(115103255)63%,
rgb(150134255)82%
);
颜色:#FCD3A5;
-webkit边界半径:5px;
-moz边界半径:10px;
字体:12px;
宽度:140px;
线高:28px;
高度:28px;
字体大小:粗体;
字体系列:“Droid Sans”,衬线;
}
.橙色{
背景:-moz线性渐变(中上,#FF9300,#FF6800)重复滚动0透明;
边框:1px实心#CFCFCF;
颜色:#FFFFFF;
字体:12px;
宽度:140px;
线高:28px;
高度:28px;
字体系列:“Droid Sans”,衬线;
背景图片:url(arrow_right.png);
背景重复:无重复;
背景位置:右;
}
.按钮2{
背景色:#2daebf;
背景图片:url(arrow_right.png);
字体:12px;
宽度:140px;
线高:28px;
高度:28px;
字体大小:粗体;
颜色:白色;
字体系列:“Droid Sans”,衬线;
背景重复:无重复;
背景位置:120px;
边界:0px;
-webkit边界半径:5px;
-moz边界半径:10px;
-moz盒阴影:0 1px 3px rgba(0,0,0,0.5);-webkit盒阴影:0 1px 3px rgba(0,0,0,0.5);文本阴影:0-1px 1px rgba(0,0,0,0.25);
}
.按钮3{
背景:绿色;/*旧浏览器/不支持浏览器的回退*/
背景:-webkit渐变(
线性的
左下角,
左上角,
彩色光圈(0.25,rgb(88,73229)),
彩色光圈(0.63,rgb(115103255)),
彩色光圈(0.82,rgb(150134255))
);
背景:-moz线性梯度(
中底,
rgb(88,73229)25%,
rgb(115103255)63%,
rgb(150134255)82%
);
边框顶部:1px纯白;
背景图片:url(arrow_right.png);
背景重复:无重复;
背景位置:120px;
}
有什么想法吗?

做不到:

Mozilla目前只支持CSS渐变作为背景图像属性的值,以及在速记背景中指定渐变值而不是图像URL。

我相信webkit(safari/chrome)可能也是这样。IE不支持渐变

我的建议是将提交按钮包装在div元素中。将渐变应用于submit按钮,将背景图像应用于div,并在需要的地方添加一点填充以适当隔开。或者,为“提交”按钮使用
元素,并将背景图像应用于标签。

无法完成:

Mozilla目前只支持CSS渐变作为背景图像属性的值,以及在速记背景中指定渐变值而不是图像URL。

我相信webkit(safari/chrome)可能也是这样。IE不支持渐变


我的建议是将提交按钮包装在div元素中。将渐变应用于submit按钮,将背景图像应用于div,并在需要的地方添加一点填充以适当隔开。或者,在提交按钮中使用
元素,并将背景图像应用到标签上。

谷歌的Gmail/Docs/etc UI按钮通过一些CSS技巧实现了这一点。您可以在此处看到其他人的实现:


基本上,按钮是实际的href锚
,并应用了渐变。然后有一个单独的样式,使用
::before
psuedo选择器为图像设置背景。重新实现起来有点棘手,但这显然是可能的。

谷歌的Gmail/Docs/etc UI按钮通过一些CSS技巧实现了这一点。您可以在此处看到其他人的实现:


基本上,按钮是实际的href锚
,并应用了渐变。然后有一个单独的样式,使用
::before
psuedo选择器为图像设置背景。重新实现有点棘手,但显然是可能的。

无法完成,是吗?我想我已经查过了,所以发现了一些相关的问题。但到目前为止没有解决方案:(无法完成,嗯?我想我已经检查过了,所以发现了一些相关的问题。但到目前为止没有解决方案:(事实上,我已经有了这些按钮,这不仅仅是一个设计问题,更是一个编程/编码问题。我只是发现当提交按钮在编程上表现得像一个按钮时,事情会变得更容易,因为大多数jquery插件在本机上都支持这种行为。我不确定我是否理解你的意思。你仍然可以拥有一个提交按钮,按照你想要的方式设置它的样式,并且它会仍然可以正常工作。div包装器或标签元素不会影响它的功能。如果我误解了你的意思,请告诉我。我的意思是,当它不是真正的提交按钮时,我无法获得正确的悬停和单击行为,这将正确触发jquery客户端验证。我通常必须调用vali单击($(“#formID”).submit()变通方法。请检查“查看本文”链接。我认为您指向了错误的url。