整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          HTML5 給圖形繪制陰影

          HTML5 中,我們除了上一節講過的可以對圖形設置平移、旋轉、縮放,還可以給圖形添加陰影效果。添加陰影的時候只需要利用圖形上下文對象的幾個關于陰影繪制的屬性就可以實現啦。

          圖形陰影繪制的屬性



          shadowOffsetX 屬性和 shadowOffsetY 屬性分別用于設置陰影在 X 軸和 Y 軸的延伸距離,屬性值為正值表示向下或向右延伸,負值表示向上或向左延伸。

          shadowBlur 屬性用于設置陰影的模糊度,當我們不希望圖形的陰影太清晰時,可以使用這個屬性。屬性值為必須為正值,否則無效喲,一般設定在 0到10 之間。

          shadowColor 屬性值用于設置陰影的顏色,屬性值可以為任意標準的 CSS 顏色值,默認顏色為黑色。

          給圖形繪制陰影

          例如給一個粉色的矩形繪制陰影。

          示例:

          繪制向右偏移 10 像素的陰影:

          <!DOCTYPE html>
              <html>
                  <head>
                      <meta charset="utf-8">
                      <title>HTML5學習(9xkd.com)</title>
                  </head>
                  <body>
                      <canvas id="mycanvas" width="300" height="200" style="border: 1px solid #000;"></canvas>
                      <script>
                          var can = document.getElementById("mycanvas");
                          var ctx = can.getContext("2d");
                          ctx.shadowOffsetX = 10;
                          ctx.shadowBlur = 10;
                          ctx.shadowColor="#000";
                          ctx.fillStyle = "pink";  // 填充顏色
                          ctx.fillRect(50, 50, 150, 70);
                      </script>
                  </body>
              </html>    
          

          在瀏覽器中的演示效果:


          可以看到上圖中,陰影的位置向右偏移,如果想要陰影向左偏移,可以將shadowOffsetX 的值設置為負數。

          示例:

          如果要繪制向上偏移 20 像素的陰影,則不需要設置 shadowOffsetX,而是設置 shadowOffsetY 屬性,正值為向下偏移,負值為向上偏移:

          var can = document.getElementById("mycanvas");
          var ctx = can.getContext("2d");
          ctx.shadowOffsetY = -20;
          ctx.shadowBlur = 10;
          ctx.shadowColor="rgba(0, 0, 0, 0.7)"; // 設置透明度
          ctx.fillStyle = "pink";  // 填充顏色
          ctx.fillRect(50, 50, 150, 70);
          

          在瀏覽器中的演示效果:


          可以看到這張截圖中,矩形的陰影顏色要比上面示例中淡一點。這是因為我們在給陰影設置顏色時,指定了一個透明度,用到了 rgba() 函數,函數中第四個參數用于設置透明度,值為 0~1 之間的小數,0表示完全透明,1表示不透明。

          示例:

          給四個邊設置陰影:

          var can = document.getElementById("mycanvas");
          var ctx = can.getContext("2d");
          ctx.shadowBlur = 10;
          ctx.shadowColor="rgba(0, 0, 0, 0.7)"; // 設置透明度
          ctx.fillStyle = "pink";   // 填充顏色
          ctx.fillRect(50, 50, 150, 70);
          

          在瀏覽器中的演示效果:


          在實際應用中,其實我們會經常用到陰影,例如給導航欄添加陰影、給按鈕添加陰影、給圖片添加陰影等,這樣看上去就會更立體一些,增加層次感。

          了解更多可查看鏈接:https://www.9xkd.com/

          加一個簡單的陰影


          讓我們為投影準備一個簡單的HTML元素:

          然后添加CSS:

          輸出結果是三個框,通過調用每個框的ID可以很容易地放置陰影。要添加陰影,讓我們將屬性box-shadow賦予框1:

          我們提供三個參數。前兩個參數是offset-x和offset-y。兩者都確定投影的位置。相對于元素左上角的位置給出偏移量。偏移x處的正值表示將陰影向右引導,偏移y處的正值表示將陰影向下引導。

          第三個參數是所需的陰影顏色。盡管這里我們使用elements <div>,但是屬性box-shadow可以應用于所有其他HTML元素。

          賦予模糊半徑

          如果想要陰影看起來更逼真,則可以使用blur-radius參數。此參數將設置我們如何給予陰影模糊效果。讓我們將其應用于方框2:

          注意第三個參數,該值4px調整應用于投影的模糊半徑。

          提供半徑差數

          如果要調整陰影的大小,我們可以添加參數spread-radius以使陰影擴大或縮小。讓我們8px在框2中添加一個半徑擴展:

          注意參數的順序。

          合并多個陰影

          我們甚至可以一次將多個陰影組合到一個元素中。讓框3應用藍色和綠色投影:

          制作陰影

          我們可以用參數制作一個向內的陰影inset。參數inset可以寫在屬性的開頭或結尾box-shadow。以下示例使用elements blockquote。

          我們還可以添加一些模糊和散布以增強陰影:

          使用properties box-shadow,我們可以為所創建的網頁提供陰影,從而可以提供良好的3D照明效果。

          用CSS3,你可以為文本和元素添加陰影。

          一、瀏覽器支持

          表中的數字指定完全支持該屬性的第一個瀏覽器版本。

          數字后面的 -webkit- 或者 -moz- 使用時需要指定前綴。

          屬性

          Chrome

          Firefox

          Safari

          Opera

          IE

          text-shadow

          4.0

          10.0

          3.5

          4.0

          9.5

          box-shadow

          10.0 4.0 -webkit-

          9.0

          4.0 3.5 -moz-

          5.1 3.1 -webkit-

          10.5

          二、CSS3 陰影的文字特效

          CSS代碼:

          <!DOCTYPE CSS>
          <CSS lang="en">
          <head>
            <meta charset="UTF-8">
            <title>項目</title>
          </head>
          <body>
            <h1>文本陰影效果!</h1>
          
          
            <p><b>注意:</b> IE9和更早的版本, 不支持text-shadow屬性.</p>
          </body>
          </CSS>

          CSS3 文本陰影

          CSS3 text-shadow 屬性應用陰影到文本上.

          在簡單的用法, 你可以在水平方向設置陰影(2px)和垂直方向設置陰影(2px):

          h1 {
              text-shadow: 2px 2px;
          }

          添加一個顏色到陰影:

          h1 {
              text-shadow: 2px 2px red;
          }

          顯示一個帶有黑色陰影的白色文本:

           h1 {
                  color: white;
                  text-shadow: 2px 2px 4px #000000;
              }

          下面的例子顯示了紅色霓虹燈的陰影:

            h1 {
                  text-shadow: 0 0 3px #FF0000;
              }


          多重陰影

          要在文本中添加多個陰影,可以添加逗號分隔的陰影列表。

          下面的實例顯示了一個紅色和藍色的霓虹燈陰影:

          h1 {
              text-shadow: 0 0 3px #FF0000, 0 0 5px #F00000;
          }

          下面實例顯示了一個白色文本帶有黑色,藍色和深藍色陰影:

          h1 {
              text-shadow: 0 0 3px #FF0000, 0 0 5px #0000FF;
          }


          三、box-shadow 屬性

          CSS3 box-shadow 屬性應用陰影到元素上.

          在最簡單的用法中,只指定水平陰影和垂直陰影:

          一個黃色的 <div> 元素使用一個黑色box-shadow

             div {
                  width: 300px;
                  height: 100px;
                  padding: 15px;
                  background-color: yellow;
                  box-shadow: 10px 10px;
              }
          
          

          下一步,添加一個顏色到陰影,對陰影添加模糊效果:

          一個黃色的 <div>元素帶模糊紅/灰 box-shadow。

           div {
                  width: 300px;
                  height: 100px;
                  padding: 15px;
                  background-color: yellow;
                  box-shadow: 10px 10px 5px grey;
              }

          案例

          添加陰影到 ::before 和 ::after 偽類中, 來創建一個有趣的效果。

          <!DOCTYPE CSS>
          <CSS lang="en">
          <head>
            <meta charset="UTF-8">
            <title>項目</title>
            <style>
            #boxshadow {
                position: relative;
                -moz-box-shadow: 1px 2px 4px rgba(0, 0, 0,0.5);
                -webkit-box-shadow: 1px 2px 4px rgba(0, 0, 0, .5);
                box-shadow: 1px 2px 4px rgba(0, 0, 0, .5);
                padding: 10px;
                background: white;
            }
          
          
            /* Make the image fit the box */
            #boxshadow img {
                width: 100%;
                border: 1px solid #8a4419;
                border-style: inset;
            }
          
          
            #boxshadow::after {
                content: '';
                position: absolute;
                z-index: -1; /* hide shadow behind image */
                -webkit-box-shadow: 0 15px 20px rgba(0, 0, 0, 0.3);
                -moz-box-shadow: 0 15px 20px rgba(0, 0, 0, 0.3);
                box-shadow: 0 15px 20px rgba(0, 0, 0, 0.3);
                width: 70%;
                left: 15%; /* one half of the remaining 30% */
                height: 100px;
                bottom: 0;CSS
            }
          </style>
          </head>
          <body>
            <div id="boxshadow">
              <img src="img/fy_indexBg.jpg" alt="Norway" width="600" height="400">
            </div>
          </body>
          </CSS>             

          四、總結

          本文基于CSS基礎,使用CSS語言。介紹了有關CSS陰影效果的應用,從基礎的文本陰影入手, 對CSS常見的陰影表示效果都做了一一的講解。通過一個個實例的演示,實例運行的效果圖。希望能夠幫助你更好的學習CSS。

          想學習更多Python網絡爬蟲與數據挖掘知識,可前往專業網站:http://pdcfighting.com/


          主站蜘蛛池模板: 亚洲美女视频一区| 奇米精品一区二区三区在| 久久久久人妻精品一区蜜桃 | 午夜在线视频一区二区三区 | 日本中文字幕一区二区有码在线| 国产成人精品无人区一区| 国产成人综合亚洲一区| 加勒比精品久久一区二区三区| 免费看AV毛片一区二区三区| 国产无码一区二区在线| 日韩欧国产精品一区综合无码| 国精品无码一区二区三区在线| 国产一区二区三区在线看| 福利一区二区三区视频在线观看| 久久er99热精品一区二区| 不卡无码人妻一区三区音频| 日本一区二区三区不卡在线视频| 国产亚洲综合精品一区二区三区 | 大帝AV在线一区二区三区| 韩国福利一区二区三区高清视频 | 福利片福利一区二区三区| 本免费AV无码专区一区| 精品国产一区二区三区免费| 99精品国产高清一区二区| 伊人色综合网一区二区三区| 亚洲啪啪综合AV一区| 国产精品视频免费一区二区三区| 免费人妻精品一区二区三区| 国产乱码一区二区三区| 国产成人久久精品一区二区三区| 国产韩国精品一区二区三区久久| 亚洲一区二区三区国产精品| 无码欧精品亚洲日韩一区| 亚洲一区二区高清| 精品熟人妻一区二区三区四区不卡 | 国产主播在线一区| 日本精品视频一区二区三区| 精品人妻中文av一区二区三区| 亚洲国产精品第一区二区三区| 亚洲电影唐人社一区二区| 国产综合视频在线观看一区 |