私は外部の依存関係を減らしたいと考えています。特に、この場合のように、可能な限り画像を CSS 効果に置き換えることによって:
HTML と CSS (このフィドルが示すように) は次のとおりです。
HTML
<div id="one">
<div></div>
</div>
CSS
#one{
width: 940px;
height: 350px;
padding: 0 10px;
margin: 10px 0;
position: relative;
}
#one{
background-image: url("http://webhost.ischool.uw.edu/~joatwood/portfolio/images/slider-shadow.png");
}
#one > div{
background-color: purple;
width: 100%;
height: 100%;
}
私が達成しようとしているのは、次の 3 つのことを取得することです。
- 左右の端でのみ要素から外れる斜めの影 (それ以外の場合はオーバーフローを非表示にできません。この要素内の他の疑似要素はその端を超えて拡張する必要があります)
- 中央から垂直方向に離れるにつれて、影は黒から白にフェードするはずです
- 影はまっすぐなエッジを使用しないでください - 適用した場合の影のように、少しぼやけている必要があります
box-shadow: 5px 5px 5px
これまでに 2 つの方法を試しましたが、どちらも完全には成功していません。
transform: skewX
グラデーションの背景を持つ2つのコンテナサイズの疑似要素で使用しました-#1と#2で完全に成功しましたが、それで#3を達成する方法がわかりません.transform: rotate
前述の疑似要素を使用し、ぼやけをエミュレートするためにいくつかのボックス シャドウを適用しようとしました。この試みは #3 でのみ成功し、#1 と #2 に関する限り、まったく機能しませんでした。
現在の主要なブラウザー (Firefox、Chrome) で動作する限り、CSS3 を使用しても問題ありませんが、ページ上の別のデザイン要素に使用されているため、疑似要素を内部に適用することはできません。<div>