2012-12-30 85 views
-1

我刚刚发现CSS box-shadow不是渐变。箱形阴影不是渐变,我怎样才能在我的按钮上获得渐变阴影?

我想要在我的链接元素下显示为按钮,它是从一种RGB颜色转换为另一种RGB颜色的渐变,并且看起来像一个投影。顶级RGB颜色为#333,按钮RGB颜色为#fff,它的高度应为4像素。 (只是例如,我没有从按钮图像中测量)。

所以我有一个

<a href="#" class="mybutton">Button</a>. 

我想直属的影子。

用其下一个梯度的影子,我试图重现的按钮是这一个:

enter image description here

是否有任何等效方式与箱阴影要做到这一点,还是有其他的方式做它?

+0

你尝试过什么CSS,什么你做结果看起来像?您发布的按钮图像看起来可以通过“box-shadow”进行操作。 – freejosh

+0

问题是,我需要显示为箱阴影的数据库中有很多渐变。所以虽然这个实例可以通过试验和错误盒子阴影来近似,但我需要一个更可靠的方法来做到这一点。 – Phil

+0

这是用多个'text-shadow'完成的,但是'box-shadow'可以应用相同的技术:http://jaredhardy.com/omg-text/ – cimmanon

回答

1

也许类似下面的(虽然你将不得不打了一下与色彩等您喜欢):

<a href="#" class="btn">Button</a>​​​​​​​​​​​ 

.btn { 
    border: solid 1px rgb(139,137,125); 
    border-color: rgb(182,179,161) rgb(167,164,146) rgb(139,137,125) rgb(167,164,146); 
    background: #C9C6B4; /* old browsers */ 
    background: -moz-linear-gradient(top, #D8D5C1 3%, #C9C6B4 4%, #A7A492 100%); /* firefox */ 
    background: -webkit-gradient(linear, left top, left bottom, color-stop(3%, #D8D5C1), color-stop(4%, #C9C6B4), color-stop(100%, #A7A492)); /* webkit */ /* filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#D8D5C1', endColorstr='#A7A492',GradientType=0);*/ 
    -moz-text-shadow: rgba(0,0,0,0.2) 0px -1px 0px; 
    -webkit-text-shadow: rgba(0,0,0,0.2) 0px -1px 0px; 
    text-shadow: rgba(0,0,0,0.2) 0px -1px 0px; 
    -moz-box-shadow: rgba(0,0,0,0.3) 0px 2px 3px; 
    -webkit-box-shadow: rgba(0,0,0,0.3) 0px 2px 3px; 
    box-shadow: rgba(0,0,0,0.3) 0px 2px 3px; 
    cursor: pointer; 
    font: bold 12px/1em Arial, Helvetica, sans-serif; 
    color: rgb(255,255,255)!important; 
    text-align: center; 
    white-space: nowrap; 
    float: right; 
    margin: 0 0 8px 5px; 
    padding: 0.5em 1em; 
} 

.btn:hover { 
    border-color: rgb(211,106,13) rgb(185,72,0) rgb(166,53,0) rgb(185,72,0); 
    -moz-box-shadow: rgba(0,0,0,0.5) 0px 1px 2px; 
    -webkit-box-shadow: rgba(0,0,0,0.5) 0px 1px 2px; 
    -moz-text-shadow: rgba(255,255,255,0.9) 0px 0px 10px; 
    -webkit-text-shadow: rgba(255,255,255,0.9) 0px 0px 10px; 
    text-shadow: rgba(255,255,255,0.9) 0px 0px 10px; 
    box-shadow: rgba(0,0,0,0.5) 0px 1px 2px; 
    background: #DD6C00; /* old browsers */ 
    background: -moz-linear-gradient(top, #F69C11 3%, #DD6C00 4%, #BB4A00 100%); /* firefox */ 
    background: -webkit-gradient(linear, left top, left bottom, color-stop(3%, #F69C11), color-stop(4%, #DD6C00), color-stop(100%, #BB4A00)); 
} 

尼克

+0

嗨,尼克,你怎么知道的?通过试验和错误?你猜这些值然后将它与图像进行比较?或者你有另一种方法? – Phil

+0

嘿菲尔,如果你指的是渐变色,我使用这个网站http://gradients.glrzad.com/ 你可以选择你喜欢的颜色,在示例中预览它们,CSS会自动为你创建。 – Voullage