2

我正在尝试在 CSS3 中创建一个与此类似的按钮。(应支持所有 HTML5 浏览器):

按钮图片

按钮图像

HTML:

<div class="buttonClass">Nitin Mukesh</div>

CSS:

body {
        background:     gray;
        margin-top:     50px;
        margin-left:        50px;
}
.buttonClass {
    width:          300px;
    height:         40px;
    padding:        10px 60px;
    -webkit-border-radius:  7px;
    -moz-border-radius: 7px;
    border-radius:      7px;
    background:     -moz-linear-gradient(top, #FFFFFF 0%, #91BDD6 100%); /* firefox */
    border:         solid #91BDD6 5px;
    outline:        solid #fff 5px;
    -moz-box-shadow: 3px 1px 24px #000000;
    -webkit-box-shadow: 3px 1px 24px #000000;
    box-shadow: 3px 1px 24px #000000;
}

JSFiddle

我可能会想到一个解决方案,使用 2 div 将解决外部 div 保持白色轮廓和框阴影和内部 div 具有轮廓和渐变颜色的问题。

是否可以使用单个 div 来实现这一点。

非常感谢您的任何投入

4

3 回答 3

4

这就是我想出的:http: //jsfiddle.net/psyketom/heGu9/2/

.button
{
    display: block;

    background-image: linear-gradient(bottom, rgb(145,189,214) 0%, rgb(255,255,255) 100%);
    background-image: -o-linear-gradient(bottom, rgb(145,189,214) 0%, rgb(255,255,255) 100%);
    background-image: -moz-linear-gradient(bottom, rgb(145,189,214) 0%, rgb(255,255,255) 100%);
    background-image: -webkit-linear-gradient(bottom, rgb(145,189,214) 0%, rgb(255,255,255) 100%);
    background-image: -ms-linear-gradient(bottom, rgb(145,189,214) 0%, rgb(255,255,255) 100%);
    background-image: -webkit-gradient(
        linear,
        left bottom,
        left top,
        color-stop(0, rgb(145,189,214)),
        color-stop(1, rgb(255,255,255))
    );

    /* Added second shadow for that "black" effect */
    box-shadow: 0px 0px 0px 5px white, 0px 0px 10px 5px black;
    -o-box-shadow: 0px 0px 0px 5px white, 0px 0px 10px 5px black;
    -ms-box-shadow: 0px 0px 0px 5px white, 0px 0px 10px 5px black;
    -moz-box-shadow: 0px 0px 0px 5px white, 0px 0px 10px 5px black;
    -webkit-box-shadow: 0px 0px 0px 5px white, 0px 0px 10px 5px black;

    border-radius: 15px;
    -o-border-radius: 15px;
    -ms-border-radius: 15px;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;

    border: solid 5px rgb(145,189,214);

    padding: 60px;

    margin: 7px; /* to complement the outside shadow */
}
于 2013-03-12T08:05:57.397 回答
3

box-shadow可以有多个阴影,所以:

http://jsfiddle.net/cyzw8/4/

.buttonClass {
    width:          200px;
    height:         40px;
/*  padding:        10px 60px;*/
    text-align:center;
    line-height:40px;
    border-radius:      7px;
    background-image:-webkit-linear-gradient(top,#FFF 0%,#91BDD6 100%);
    background-image:       -moz-linear-gradient(top, #FFFFFF 0%, #91BDD6 100%);
    background-image:-ms-linear-gradient(top,#FFF,#91BDD6);
    background-image:-o-linear-gradient(top,#FFF,#91BDD6);
    background-image:linear-gradient(top,#FFF,#91BDD6);
    border:         solid #91BDD6 5px;
    box-shadow: 0px 0px 0px 5px #fff, 5px 3px 12px #000000;
}

这是我在 Chrome 中看到的:

在此处输入图像描述

于 2013-03-12T08:41:14.887 回答
1

这是第二种方式http://jsfiddle.net/Merec/Va4qG/

<div class="buttonClass"><span>Nitin Mukesh</span></div>
.buttonClass {
    display: inline-block;
    background: #fff;
    border: 2px solid #fff;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    background: rgb(255,255,255); /* Old browsers */
    background: -moz-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(145,189,214,1) 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,1)), color-stop(100%,rgba(145,189,214,1))); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top, rgba(255,255,255,1) 0%,rgba(145,189,214,1) 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top, rgba(255,255,255,1) 0%,rgba(145,189,214,1) 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(top, rgba(255,255,255,1) 0%,rgba(145,189,214,1) 100%); /* IE10+ */
    background: linear-gradient(to bottom, rgba(255,255,255,1) 0%,rgba(145,189,214,1) 100%); /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#91bdd6',GradientType=0 ); /* IE6-9 */
}
.buttonClass span {
    padding: 5px 10px;
    display: block;
    border: 2px solid #91bdd6;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
}
于 2013-03-12T08:13:04.017 回答