2017-01-15 18 views
0

divの左右にボックスシャドウを追加したいのですが、ここではそのイメージを付けています。どうすればいいのか分かりません。影は左と右のポイントマークになるはずです。 enter image description hereボックスの影が左右にある

+0

あなたは 'ボックスshadow'のCSSプロパティを探しています。 1つのボックスの影に2つ以上のカンマを置いて設定することができます。 – Jhecht

答えて

0

これで、必要なものが得られたらと思っています。 box-shadowプロパティのドキュメントはHere on MDNです。

html, 
 
body { 
 
    height: 100%; 
 
    margin: 0; 
 
    padding: 0; 
 
} 
 
.container { 
 
    background-color: pink; 
 
    height: 100%; 
 
    padding: 10px; 
 
} 
 
.content { 
 
    width: 85%; 
 
    margin: 0 auto; 
 
    box-sizing: border-box; 
 
    height: calc(100% - 10px); 
 
    box-shadow: -5px 5px 5px rgba(0, 0, 0, 0.3), 5px 5px 5px rgba(0, 0, 0, 0.3); 
 
    background-color: white; 
 
}
<div class="container"> 
 
    <div class="content"> 
 
    Hello 
 
    </div> 
 
</div>

+0

しかし、私の要求は異なっています...この画像をよく見てください。 – phpLover

+0

私にはそれがどのように異なっているかを説明してください。また、私は非常に色鮮やかであるので、もっと具体的です。 – Jhecht

+0

ok ..実際に影が左と右の側だけにあるはずです。私は両側にポイントをマークしています。そのポイントまでは、影が下から必要で、影も約10%近くから始まります。 – phpLover

2

body { 
 
    background-color: red; 
 
} 
 

 
.boxWrapper { 
 
    height: 100%; 
 
    overflow: hidden; 
 
    margin: 30px auto; 
 
    width: 500px; 
 
    padding: 0 60px; 
 
} 
 

 
.box { 
 
    position: relative; 
 
    border-radius: 3px; 
 
    padding: 20px; 
 
    min-height: 300px; 
 
    background-color: #fff; 
 
} 
 

 
.box:before { 
 
    content: ''; 
 
    position: absolute; 
 
    width: 100%; 
 
    height: 100%; 
 
    z-index: -1; 
 
    top: -20px; 
 
    transform: rotate(-8deg); 
 
    left: 20px; 
 
    background-color: transparent; 
 
    box-shadow: -40px 0 30px rgba(0, 0, 0, 0.3); 
 
} 
 

 
.box:after { 
 
    content: ''; 
 
    position: absolute; 
 
    width: 100%; 
 
    height: 100%; 
 
    z-index: -1; 
 
    top: -20px; 
 
    transform: rotate(8deg); 
 
    right: 20px; 
 
    background-color: transparent; 
 
    box-shadow: 40px 0 20px rgba(0, 0, 0, 0.3); 
 
}
<div class="boxWrapper"> 
 
    <div class="box"> 
 
    box 
 
    </div> 
 
</div>

だから、これは間違いなく、きちんとした質問です。私は周りに遊んだし、少なくとも適切な解決策への踏み台を考え出すことができました。私は言及されているボックスシャドー法でそれをやってきましたが、:after:before疑似セレクタの両方にそれを加えました。

次に、これらのセレクタを両方とも8度回転させて(提供された画像を模倣する)、要素の上と要素の下の両方に不要な影が残っていることがわかりました。

これを解決するために、箱のサイズを定義するだけでなく、上端と下端にオーバーフローするものを隠すことが唯一の目的であるボックスラッパーで箱を包みました。

これはちょっとハッキリと感じるので、間違いなくそれを必要とする方法に合わせて調整する必要があります。しかし、私はこれが問題に近づく方法に関するいくつかのアイデアを提供していると思います。

私は仕事でそれを見ることができるようにCodepenを作成しました。 http://codepen.io/RyanAaronGreen/pen/Kagdad

+0

私は ':: before'と' :: after'セレクタを手にしていましたが、これは本当にきれいな質問です。それが私がOPだったら、おそらくあなたの答えを選択すると言われています。 – Jhecht

+0

@phpLover - あなたはこれまであなたの答えを得ましたか?私は以前の答えを振り返ってみるとこの問題を抱えています。 –

関連する問題