1

次のデザインをお願いします。

ここに画像の説明を入力してください

カスケードシャドウを実現しようとしている方法は次のとおりです。

box-shadow: -6px 0px 10px #514E49

ただし、影が反対方向に表示されます。

ここに画像の説明を入力してください

h-shadowパラメータをに変更しようとしました6pxが、影は右端にしか表示されません。

Emilが提案したように使用しinsetてみましたが、インセットも表示され、ボックス内に表示されるようになります。これは避ける必要があります。次のようになります。v-shadow

ここに画像の説明を入力してください

4

4 に答える 4

4

これを試して:

box-shadow:inset 6px 0px 10px #514E49;

編集:

box-shadow: 6px 0px 10px #514E49;
float:right;

http://jsfiddle.net/6V7Et/4/

メニューの順序を逆にする必要があります

于 2013-01-20T14:39:00.517 に答える
3

float:rightメニューを回避して元に戻す別の方法は、次のように負のスプレッドと増加したhシャドウを使用することです。

.box {
    background: #817E77;
    display: inline-block;
    width: 100px;
    height: 40px;
    box-shadow: inset 10px 0px 10px -4px #514E49;
    float:left;
}

jsFiddleの結果

于 2013-01-20T16:08:50.810 に答える
1

あなたの問題は他のdivが以前にレンダリングされたものを隠していることなので、これはz-indexで最もよく取り組むことができると思います。

それで:

.box {
    ....your stuff here....
    float:right
}

http://jsfiddle.net/XKNn4/

于 2013-01-20T14:53:57.483 に答える
0

メニューの順序を逆にしたり使用したりしない別の解決策は、疑似要素z-indexを配置することです。box-shadow

デモ

関連するCSS

li {
    overflow: hidden;
    position: relative;
    box-shadow: 6px 0px 10px #514E49;
    /* the other styles */
}
li:not(:first-child):after {
    position: absolute;
    right: 100%; width: 100%; height: 100%;
    box-shadow: 6px 0px 10px #514E49;
    content: '';
}
于 2013-01-20T15:47:36.967 に答える