CSS3 box-reflect を使用して反射効果を作成する

高洛峰
リリース: 2017-02-16 13:17:05
オリジナル
1243 人が閲覧しました

互換性

これは CSS3 のプロパティであるため、もちろん互換性を確認する必要があります: http://caniuse.com/css-reflections/embed

次に、box-reflect の使用方法を学びましょう。

構文は次のとおりです:

  -webkit-box-reflect:none | <direction> <offset>? <mask-box-image>?
  box-reflect:none | <direction> <offset>? <mask-box-image>?</mask-box-image></offset></direction></mask-box-image></offset></direction>
ログイン後にコピー

属性の説明:

none: この値は反射がないことを示すデフォルト値です

direction: 反射が生成される方向

上: オブジェクト上の反射を指定します 上 下: オブジェクトの下にある反射を指定します 左: オブジェクトの左側にある反射を指定します 右: オブジェクトの右側にある反射を指定します

offset: 画像と反射の間の距離

length: 長さの値を使用して、反射とオブジェクトの間隔の間の距離を定義します。負の値のパーセンテージを指定できます。パーセンテージを使用して、反射とオブジェクトの間の間隔を定義します。負の値も可能です

mask-box-image: 反射のマスク効果を設定するために使用されます

値は次のとおりです:

none: マスク画像なし URL: 絶対アドレスまたは相対アドレスを使用して指定します。マスクのイメージ。 Linear-gradient: 線形グラデーションを使用してマスク イメージを作成します。 Radial-gradient: 放射状(放射状)グラデーションを使用してマスク イメージを作成します。繰り返し線形グラデーション: 繰り返し線形グラデーションを使用してバックマスク イメージを作成します。反復放射状グラデーション: 反復放射状 (放射状) グラデーションを使用してマスク イメージを作成します。

机上で話すだけでは十分ではありません。事例を通じて効果を確認する必要があります。

反射の方向

この例では、3 つの画像を作成しました:

<p>   
  <img  alt="CSS3 box-reflect を使用して反射効果を作成する" >   
</p>   
<p>   
  <img  alt="CSS3 box-reflect を使用して反射効果を作成する" >   
</p>   
<p>   
  <img  alt="CSS3 box-reflect を使用して反射効果を作成する" >   
</p>
ログイン後にコピー

CSS は次のとおりです:

.box1,.box2,.box3{   
  width:120px;   
  float:left;   
  margin-right:180px;   
}   
img{   
  width:100%;   
}   
.box1 img{   
  -webkit-box-reflect:right;   
  box-reflect:right;   
}   
.box2 img,.box3 img{   
  -webkit-box-reflect: above;   
  box-reflect:above;   
}   
.box3{   
  padding-top:200px;   
}
ログイン後にコピー

レンダリングは次のとおりです:

CSS3 box-reflect を使用して反射効果を作成する

こちら質問の 1 つは、box2 と box3 の画像の両方に、上部に投影を生成する box-reflect:above が含まれているのですが、なぜ box2 ではその効果が見られないのでしょうか。その理由は、box3 には padding-top:200px を設定しましたが、box2 には設定しなかったためです。これは、生成された反射を表示するためのスペースがないためであると当初推定されています。

反射とオブジェクト間の距離

反射を生成する方向を理解した後、2 番目の属性を見てみましょう。例を見てみましょう:

まだ 3 つの画像を使用していますが、スタイルは変更されています:

レンダリングは次のとおりです:

CSS3 box-reflect を使用して反射効果を作成する

次に、最後の属性を学習します。

マスク効果

(1) グラデーションを使用して反射にマスク効果を追加します

.box1 img{   
  -webkit-box-reflect:below 30px;   
  box-reflect:below 30px;   
}   
.box2 img{   
  -webkit-box-reflect:below -30px;   
  box-reflect:below -30px;   
}   
.box3 img{   
  -webkit-box-reflect:below 5%;   
  box-reflect:below 5%;   
}
ログイン後にコピー

効果は次のとおりです:

CSS3 box-reflect を使用して反射効果を作成する

背景画像を使用して反射にマスク効果を追加します

まず、五芒星の png 画像が必要です:

CSS3 box-reflect を使用して反射効果を作成する

  .box1 img{   
  -webkit-box-reflect:below 0 -webkit-linear-gradient(top,rgba(250,250,250,0),rgba(250,250,250,.0) 30%,rgba(250,250,250,.3));   
  box-reflect:below 0 linear-gradient(top,rgba(250,250,250,0),rgba(250,250,250,.0) 30%,rgba(250,250,250,.3));   
}
ログイン後にコピー

効果は次のとおりです:

CSS3 box-reflect を使用して反射効果を作成する

CSS3 box-reflect を使用して反射を作成するその他の関連記事はこちらエフェクトについては、PHP 中国語 Web サイトに注意してください。


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート