Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
HTML5 中,我們除了上一節(jié)講過的可以對圖形設(shè)置平移、旋轉(zhuǎn)、縮放,還可以給圖形添加陰影效果。添加陰影的時(shí)候只需要利用圖形上下文對象的幾個(gè)關(guān)于陰影繪制的屬性就可以實(shí)現(xiàn)啦。
shadowOffsetX 屬性和 shadowOffsetY 屬性分別用于設(shè)置陰影在 X 軸和 Y 軸的延伸距離,屬性值為正值表示向下或向右延伸,負(fù)值表示向上或向左延伸。
shadowBlur 屬性用于設(shè)置陰影的模糊度,當(dāng)我們不希望圖形的陰影太清晰時(shí),可以使用這個(gè)屬性。屬性值為必須為正值,否則無效喲,一般設(shè)定在 0到10 之間。
shadowColor 屬性值用于設(shè)置陰影的顏色,屬性值可以為任意標(biāo)準(zhǔn)的 CSS 顏色值,默認(rèn)顏色為黑色。
例如給一個(gè)粉色的矩形繪制陰影。
示例:
繪制向右偏移 10 像素的陰影:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>HTML5學(xué)習(xí)(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 的值設(shè)置為負(fù)數(shù)。
示例:
如果要繪制向上偏移 20 像素的陰影,則不需要設(shè)置 shadowOffsetX,而是設(shè)置 shadowOffsetY 屬性,正值為向下偏移,負(fù)值為向上偏移:
var can = document.getElementById("mycanvas");
var ctx = can.getContext("2d");
ctx.shadowOffsetY = -20;
ctx.shadowBlur = 10;
ctx.shadowColor="rgba(0, 0, 0, 0.7)"; // 設(shè)置透明度
ctx.fillStyle = "pink"; // 填充顏色
ctx.fillRect(50, 50, 150, 70);
在瀏覽器中的演示效果:
可以看到這張截圖中,矩形的陰影顏色要比上面示例中淡一點(diǎn)。這是因?yàn)槲覀冊诮o陰影設(shè)置顏色時(shí),指定了一個(gè)透明度,用到了 rgba() 函數(shù),函數(shù)中第四個(gè)參數(shù)用于設(shè)置透明度,值為 0~1 之間的小數(shù),0表示完全透明,1表示不透明。
示例:
給四個(gè)邊設(shè)置陰影:
var can = document.getElementById("mycanvas");
var ctx = can.getContext("2d");
ctx.shadowBlur = 10;
ctx.shadowColor="rgba(0, 0, 0, 0.7)"; // 設(shè)置透明度
ctx.fillStyle = "pink"; // 填充顏色
ctx.fillRect(50, 50, 150, 70);
在瀏覽器中的演示效果:
在實(shí)際應(yīng)用中,其實(shí)我們會(huì)經(jīng)常用到陰影,例如給導(dǎo)航欄添加陰影、給按鈕添加陰影、給圖片添加陰影等,這樣看上去就會(huì)更立體一些,增加層次感。
了解更多可查看鏈接:https://www.9xkd.com/
讓我們?yōu)橥队皽?zhǔn)備一個(gè)簡單的HTML元素:
然后添加CSS:
輸出結(jié)果是三個(gè)框,通過調(diào)用每個(gè)框的ID可以很容易地放置陰影。要添加陰影,讓我們將屬性box-shadow賦予框1:
我們提供三個(gè)參數(shù)。前兩個(gè)參數(shù)是offset-x和offset-y。兩者都確定投影的位置。相對于元素左上角的位置給出偏移量。偏移x處的正值表示將陰影向右引導(dǎo),偏移y處的正值表示將陰影向下引導(dǎo)。
第三個(gè)參數(shù)是所需的陰影顏色。盡管這里我們使用elements <div>,但是屬性box-shadow可以應(yīng)用于所有其他HTML元素。
如果想要陰影看起來更逼真,則可以使用blur-radius參數(shù)。此參數(shù)將設(shè)置我們?nèi)绾谓o予陰影模糊效果。讓我們將其應(yīng)用于方框2:
注意第三個(gè)參數(shù),該值4px調(diào)整應(yīng)用于投影的模糊半徑。
如果要調(diào)整陰影的大小,我們可以添加參數(shù)spread-radius以使陰影擴(kuò)大或縮小。讓我們8px在框2中添加一個(gè)半徑擴(kuò)展:
注意參數(shù)的順序。
我們甚至可以一次將多個(gè)陰影組合到一個(gè)元素中。讓框3應(yīng)用藍(lán)色和綠色投影:
我們可以用參數(shù)制作一個(gè)向內(nèi)的陰影inset。參數(shù)inset可以寫在屬性的開頭或結(jié)尾box-shadow。以下示例使用elements blockquote。
我們還可以添加一些模糊和散布以增強(qiáng)陰影:
使用properties box-shadow,我們可以為所創(chuàng)建的網(wǎng)頁提供陰影,從而可以提供良好的3D照明效果。
用CSS3,你可以為文本和元素添加陰影。
表中的數(shù)字指定完全支持該屬性的第一個(gè)瀏覽器版本。
數(shù)字后面的 -webkit- 或者 -moz- 使用時(shí)需要指定前綴。
屬性 | 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 |
CSS代碼:
<!DOCTYPE CSS>
<CSS lang="en">
<head>
<meta charset="UTF-8">
<title>項(xiàng)目</title>
</head>
<body>
<h1>文本陰影效果!</h1>
<p><b>注意:</b> IE9和更早的版本, 不支持text-shadow屬性.</p>
</body>
</CSS>
CSS3 text-shadow 屬性應(yīng)用陰影到文本上.
在簡單的用法, 你可以在水平方向設(shè)置陰影(2px)和垂直方向設(shè)置陰影(2px):
h1 {
text-shadow: 2px 2px;
}
添加一個(gè)顏色到陰影:
h1 {
text-shadow: 2px 2px red;
}
顯示一個(gè)帶有黑色陰影的白色文本:
h1 {
color: white;
text-shadow: 2px 2px 4px #000000;
}
下面的例子顯示了紅色霓虹燈的陰影:
h1 {
text-shadow: 0 0 3px #FF0000;
}
要在文本中添加多個(gè)陰影,可以添加逗號分隔的陰影列表。
下面的實(shí)例顯示了一個(gè)紅色和藍(lán)色的霓虹燈陰影:
h1 {
text-shadow: 0 0 3px #FF0000, 0 0 5px #F00000;
}
下面實(shí)例顯示了一個(gè)白色文本帶有黑色,藍(lán)色和深藍(lán)色陰影:
h1 {
text-shadow: 0 0 3px #FF0000, 0 0 5px #0000FF;
}
CSS3 box-shadow 屬性應(yīng)用陰影到元素上.
在最簡單的用法中,只指定水平陰影和垂直陰影:
一個(gè)黃色的 <div> 元素使用一個(gè)黑色box-shadow
div {
width: 300px;
height: 100px;
padding: 15px;
background-color: yellow;
box-shadow: 10px 10px;
}
下一步,添加一個(gè)顏色到陰影,對陰影添加模糊效果:
一個(gè)黃色的 <div>元素帶模糊紅/灰 box-shadow。
div {
width: 300px;
height: 100px;
padding: 15px;
background-color: yellow;
box-shadow: 10px 10px 5px grey;
}
添加陰影到 ::before 和 ::after 偽類中, 來創(chuàng)建一個(gè)有趣的效果。
<!DOCTYPE CSS>
<CSS lang="en">
<head>
<meta charset="UTF-8">
<title>項(xiàng)目</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基礎(chǔ),使用CSS語言。介紹了有關(guān)CSS陰影效果的應(yīng)用,從基礎(chǔ)的文本陰影入手, 對CSS常見的陰影表示效果都做了一一的講解。通過一個(gè)個(gè)實(shí)例的演示,實(shí)例運(yùn)行的效果圖。希望能夠幫助你更好的學(xué)習(xí)CSS。
想學(xué)習(xí)更多Python網(wǎng)絡(luò)爬蟲與數(shù)據(jù)挖掘知識(shí),可前往專業(yè)網(wǎng)站:http://pdcfighting.com/
*請認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。