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/psycketom/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

これが2番目の方法です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 に答える