この記事は、CSS3 の box-shadow 属性によって実現される影の効果についてまとめたものです。必要な方は参考にしていただければ幸いです。
CSS3 box-shadow プロパティは、要素の 1 つ以上のシャドウ効果を記述するために使用されます。このプロパティを使用すると、必要なほぼすべてのシャドウ効果を実現できます。ただし、box-shadow 属性の構文と値は非常に柔軟なので、初心者にとっては理解するのが少し難しいです。今日は、box-shadow 属性の構文とさまざまなシャドウ効果についてまとめます。
構文
/* offset-x | offset-y | color */ box-shadow: 60px -16px teal; /* offset-x | offset-y | blur-radius | color */ box-shadow: 10px 5px 5px black; /* offset-x | offset-y | blur-radius | spread-radius | color */ box-shadow: 2px 2px 2px 1px rgba(0, 0, 0, 0.2); /* inset | offset-x | offset-y | color */ box-shadow: inset 5em 1em gold; /* Any number of shadows, separated by commas */ box-shadow: 3px 3px red, -1em 0 0.4em olive; /* Global keywords */ box-shadow: inherit; box-shadow: initial; box-shadow: unset;
値の説明:
inset: デフォルトのシャドウは境界線の外側にあります。インセットを使用すると、影は境界線 (透明な境界線でも) 内、背景の上、コンテンツの下に表示されます。この値を最後に置くことを好む人もいますし、ブラウザもそれをサポートしています。
インターネット上でいくつかの写真を見つけましたので、それを参照すると理解しやすくなります。
もっと具体的に見てみましょう:
div { width: 150px; height: 150px; background-color: #fff; box-shadow: 120px 80px 40px 20px #0ff; /* 顺序为: offset-x, offset-y, blur-size, spread-size, color */ /* blur-size 和 spread-size 是可选的 (默认为 0) */ }
これが図です:
最も単純な一般的な効果
最も単純な影の効果の一部を以下に示します。これは、以下を見れば非常に簡単に理解できるはずです。コード:
HTML
<div class="flex"> <div class="flex-item"> <h3 id="内阴影示例">内阴影示例</h3> <div class="box boxshadow1"></div> </div> <div class="flex-item"> <h3 id="边内影示例">3边内影示例</h3> <div class="box boxshadow2"></div> </div> <div class="flex-item"> <h3 id="外阴影示例">外阴影示例</h3> <div class="box boxshadow3"></div> </div> <div class="flex-item"> <h3 id="右下外阴影示例">右下外阴影示例</h3> <div class="box boxshadow4"></div> </div> <div class="flex-item"> <h3 id="扩大阴影示例">扩大阴影示例</h3> <div class="box boxshadow5"></div> </div> <div class="flex-item"> <h3 id="半透明阴影色示例">半透明阴影色示例</h3> <div class="box boxshadow6"></div> </div> </div>
CSS
.flex{display:flex;flex-wrap:wrap;} .flex-item{margin-right:30px;} .box { background-color: #CCCCCC; border-radius:10px; width: 200px; height: 200px; } .boxshadow1{ box-shadow:inset 0px 0px 5px 1px #000; } .boxshadow2{ box-shadow:inset 0 1px 2px 1px #000; } .boxshadow3{box-shadow:0 0 10px #000;} .boxshadow4{box-shadow:2px 2px 5px #000;} .boxshadow5{box-shadow:0 0 5px 15px #000;} .boxshadow6{box-shadow: 12px 12px 2px 1px rgba(0, 0, 255, .2);}
効果は次のとおりです
#シングル エッジ シャドウ エフェクト
シングル エッジ シャドウ エフェクトは、ストローク、特別なシーンの小さなシャドウ、トランジション カラーなどのいくつかのエフェクトを作成できます。
#HTML<div class="flex"> <div class="flex-item"> <h3 id="上边内阴影示例">上边内阴影示例</h3> <div class="box boxshadow1"></div> </div> <div class="flex-item"> <h3 id="右边内阴影示例">右边内阴影示例</h3> <div class="box boxshadow2"></div> </div> <div class="flex-item"> <h3 id="下边外阴影示例">下边外阴影示例</h3> <div class="box boxshadow3"></div> </div> <div class="flex-item"> <h3 id="右边外阴影示例">右边外阴影示例</h3> <div class="box boxshadow4"></div> </div> <div class="flex-item"> <h3 id="下边细线示例">下边细线示例</h3> <div class="box boxshadow5"></div> </div> </div>CSS
.flex{display:flex;flex-wrap:wrap;} .flex-item{margin-right:30px;} .box { background-color: #CCCCCC; width: 200px; height: 200px; } .boxshadow1{ box-shadow:inset 0px 15px 10px -15px #000; } .boxshadow2{ box-shadow:inset -15px 0px 10px -15px #000;} .boxshadow3{box-shadow:0px 12px 8px -12px #000; border-radius:10px; } .boxshadow4{box-shadow:3px 0 8px -4px #000;} .boxshadow5{ box-shadow: inset 0px -1px 0px 0px rgb(0, 0, 0) ;}効果は次のとおりです
HTML
<div class="flex"> <div class="flex-item"> <h3 id="上下边内阴影示例">上下边内阴影示例</h3> <div class="box boxshadow1"></div> </div> <div class="flex-item"> <h3 id="左右边外阴影示例">左右边外阴影示例</h3> <div class="box boxshadow2"></div> </div> <div class="flex-item"> <h3 id="多层阴影示例">多层阴影示例</h3> <div class="box boxshadow3"></div> </div> </div>
CSS
.flex{display:flex;flex-wrap:wrap;} .flex-item{margin-right:30px;} .box { background-color: #CCCCCC; width: 200px; height: 200px; } .boxshadow1{ box-shadow:inset 0px 15px 15px -15px #000, inset 0px -15px 15px -15px #000; } .boxshadow2{ box-shadow:15px 0 15px -15px #000, -15px 0 15px -15px #000; } .boxshadow3{ border-radius:10px; box-shadow:0px 0px 0px 3px #bb0a0a, 0px 0px 0px 6px #2e56bf, 0px 0px 0px 9px #ea982e; }
効果は次のとおりです
疑似要素 ::before と ::after を使用すると、画像だけが実現できる非常にリアルな影効果を作成できます。例を見てみましょう:
HTML
<div class="box11 shadow"></div>
CSS
.box11 { width: 300px; height: 100px; background: #ccc; border-radius: 10px; margin: 10px; } .shadow { position: relative; max-width: 270px; box-shadow: 0px 1px 4px rgba(0,0,0,0.3), 0px 0px 20px rgba(0,0,0,0.1) inset; } .shadow::before, .shadow::after { content:""; position:absolute; z-index:-1; } .shadow::before, .shadow::after { content:""; position:absolute; z-index:-1; bottom:15px; left:10px; width:50%; height:20%; } .shadow::before, .shadow::after { content:""; position:absolute; z-index:-1; bottom:15px; left:10px; width:50%; height:20%; box-shadow:0 15px 10px rgba(0, 0, 0, 0.7); transform:rotate(-3deg); } .shadow::after{ right:10px; left:auto; transform:rotate(3deg); }
効果は次のとおりです
もう一度来てください いくつかの効果:
HTML
<div class="wrap"> <div class="box box1 shadow1"> <h3 id="Shadow-nbsp">Shadow 1</h3> </div> <div class="box box2 shadow2"> <h3 id="Shadow-nbsp">Shadow 2</h3> </div> <div class="box box3 shadow3"> <h3 id="Shadow-nbsp">Shadow 3</h3> </div> <div class="box box4 shadow4"> <h3 id="Shadow-nbsp">Shadow 4</h3> </div> <div class="box box5 shadow5"> <h3 id="Shadow-nbsp">Shadow 5</h3> </div> <div class="box box6 shadow6"> <h3 id="Shadow-nbsp">Shadow 6</h3> </div> <div class="box box7 shadow7"> <h3 id="Shadow-nbsp">Shadow 7</h3> </div> <div class="box box8 shadow8"> <h3 id="Shadow-nbsp">Shadow 8</h3> </div> </div>
CSS
body{ background:#E6EEF6; } .wrap{ margin-left:20px; } .box{ width:40%; height:200px; float:left; background-color:white; margin:25px 15px; border-radius:5px; } .box h3{ font-family: 'Didact Gothic', sans-serif; font-weight:normal; text-align:center; padding-top:60px; color:#fff; } .box1{ background-color: #EBA39E; } .box2{ background-color: #EDE89A; } .box3{ background-color: #9EEBA1; } .box4{ background-color: #9EEBBF; } .box5{ background-color: #9ED9EB; } .box6{ background-color: #9EB3EB; } .box7{ background-color: #DB9EEB; } .box8{ background-color: #C49EEB; } .shadow1, .shadow2, .shadow3,.shadow4,.shadow5,.shadow6,.shadow7,.shadow8{ position:relative; } .shadow1,.shadow2,.shadow3,.shadow4,.shadow5,.shadow6,.shadow7,.shadow8{ box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 20px rgba(0, 0, 0, 0.1) inset; } /*****************************************************************dashed border ****************************************************************/ .shadow1 h3, .shadow2 h3, .shadow3 h3, .shadow4 h3, .shadow5 h3, .shadow6 h3, .shadow7 h3, .shadow8 h3{ width:87%; height:100px; margin-left:6%; border:2px dashed #F7EEEE; border-radius:5px; } /**************************************************************** *styling shadows ****************************************************************/ .shadow1:before, .shadow1:after{ position:absolute; content:""; bottom:12px;left:15px;top:80%; width:45%; background:#9B7468; z-index:-1; -webkit-box-shadow: 0 20px 15px #9B7468; -moz-box-shadow: 0 20px 15px #9B7468; box-shadow: 0 20px 15px #9B7468; -webkit-transform: rotate(-6deg); -moz-transform: rotate(-6deg); transform: rotate(-6deg); } .shadow1:after{ -webkit-transform: rotate(6deg); -moz-transform: rotate(6deg); transform: rotate(6deg); right: 15px;left: auto; } .shadow2:before{ position:absolute; content:""; width:80%; top:140px;bottom:15px;left:30px; background-color:#9F8641; z-index:-1; -webkit-box-shadow:0 23px 17px 0 #9F8641; -moz-box-shadow:0 23px 17px 0 #9F8641; box-shadow: 0 23px 17px 0 #9F8641; -webkit-transform:rotate(-4deg); -moz-transform:rotate(-4deg); transform:rotate(-4deg); } .shadow3:before, .shadow3:after{ content:""; position:absolute; bottom:0;top:2px;left:15px;right:15px; z-index:-1; border-radius:100px/30px; -webkit-box-shadow:0 0 30px 2px #479F41; -moz-box-shadow:0 0 30px 2px #479F41; box-shadow: 0 0 30px 2px #479F41; } .shadow4:before, .shadow4:after{ position:absolute; content:""; top:14px;bottom:14px;left:0;right:0; box-shadow:0 0 25px 3px #548E7F; border-radius:100px/10px; z-index:-1; } .shadow5:before, .shadow5:after{ position:absolute; content:""; box-shadow:0 10px 25px 20px #518C96; top:40px;left:10px;bottom:50px; width:15%; z-index:-1; -webkit-transform: rotate(-8deg); -moz-transform: rotate(-8deg); transform: rotate(-8deg); } .shadow5:after{ -webkit-transform: rotate(8deg); -moz-transform: rotate(8deg); transform: rotate(8deg); right: 10px;left: auto; } .shadow6:before, .shadow6:after{ position:absolute; content:""; top:100px;bottom:5px;left:30px;right:30px; z-index:-1; box-shadow:0 0 40px 13px #486685; border-radius:100px/20px; } .shadow7:before, .shadow7:after{ position:absolute; content:"1"; top:25px;left:20px;bottom:150px; width:80%; z-index:-1; -webkit-transform: rotate(-6deg); -moz-transform: rotate(-6deg); transform: rotate(-6deg); } .shadow7:before{ box-shadow:10px -10px 30px 15px #984D8E; } .shadow7:after{ -webkit-transform: rotate(7deg); -moz-transform: rotate(7deg); transform: rotate(7deg); bottom: 25px;top: auto; box-shadow:10px 10px 30px 15px #984D8E; } .shadow8{ box-shadow: -6px -6px 8px -4px rgba(250,254,118,0.75), 6px -6px 8px -4px rgba(254,159,50,0.75), 6px 6px 8px -4px rgba(255,255,0,0.75), 6px 6px 8px -4px rgba(0,0,255,2.75); }
効果は次のとおりです
以上がCSS3のbox-shadow属性で実装される影効果のまとめの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

今週のラウンドアップ:Firefoxは錠前屋のような力を獲得し、Samsung&#039; s Galaxy StoreがプログレッシブWebアプリをサポートし始め、CSS SubgridはFirefoxで出荷しています

今週のラウンドアップ:Internet ExplorerがEdgeに進み、Google Search Consoleが新しい速度レポートを宣伝し、FirefoxがFacebookの通知を提供します

おそらく、CSS変数に少なくとも少し精通しているでしょう。そうでない場合は、ここに2秒の概要があります:それらは本当にカスタムプロパティと呼ばれます、あなたは設定します

建物のウェブサイトはプログラミングです。 HTMLとCSSの作成はプログラミングです。私はプログラマーです。ここでCSS-Tricksを読んでいる場合、あなたは&#039;

ここに&#039;私が前もって知るのが好きなこと:これは難しい問題です。あなたがここに上陸した場合、あなたはあなたが伝えることができるツールを指し示すことを望んでいるので、あなたが&#039;

Picture-in-Pictureは、2016年にMacos SierraをリリースしたSafariブラウザでWebに初めて登場しました。ユーザーがポップできるようになりました。

Gatsbyは、画像の処理と処理の素晴らしい仕事をしています。たとえば、手動で画像の最適化で時間を節約するのに役立ちます

私は今日、私の頭の中で完全に間違っていたことをパーセンテージベース(%)のパディングについて学びました!パディングの割合はに基づいているといつも思っていました


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

ドリームウィーバー CS6
ビジュアル Web 開発ツール

WebStorm Mac版
便利なJavaScript開発ツール

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境
