亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

css實(shí)現(xiàn)跨瀏覽器的box-shadow盒陰影效果告別圖片實(shí)現(xiàn)類似效果(2)

  發(fā)布時(shí)間:2013-01-08 14:15:30   作者:佚名   我要評(píng)論
前面的文章雖然實(shí)現(xiàn)IE下的盒陰影效果也是使用的濾鏡,但是使用的是shadow濾鏡,這種濾鏡的效果很牽強(qiáng),效果過(guò)渡不自然.而本文實(shí)現(xiàn)的IE下的盒陰影效果就相對(duì)非常自然,而且還支持內(nèi)陰影的UI表現(xiàn),究竟效果如何,請(qǐng)繼續(xù)瀏覽

一、前言
我之前曾寫(xiě)過(guò)一篇關(guān)于實(shí)現(xiàn)跨瀏覽器實(shí)現(xiàn)box-shadow效果的文章——“CSS實(shí)現(xiàn)跨瀏覽器兼容性的盒陰影效果”,本文雖然題目類似,但是核心部分是有差異的。前面的文章雖然實(shí)現(xiàn)IE下的盒陰影效果也是使用的濾鏡,但是使用的是shadow濾鏡,這種濾鏡的效果很牽強(qiáng),效果過(guò)渡不自然

而本文實(shí)現(xiàn)的IE下的盒陰影效果就相對(duì)非常自然,而且還支持內(nèi)陰影的UI表現(xiàn)。到底是如何實(shí)現(xiàn)的,究竟效果如何,請(qǐng)繼續(xù)瀏覽。
二、瀏覽器純爺們模式下的支持情況
CSS3 box-shadow屬性基本上所有的現(xiàn)代瀏覽器都支持良好。但是要實(shí)現(xiàn)跨瀏覽器支持,你需要使用以下屬性的所有變體:
•在Opera瀏覽器和IE9以及以上版本瀏覽器中(雖然還在媽媽肚子中),直接使用不帶前綴的box-shadow屬性
•為支持Firefox瀏覽器,你需要使用-moz-前綴,即-moz-box-shadow
•為支持webkit核心的瀏覽器(如Google Chrome 和 Apple Safari),你需要-webkit-前綴,合起來(lái)就是-webkit-box-shadow
•一直到IE8瀏覽器,沒(méi)有純正的支持box-shadow屬性的CSS樣式,需要使用另外的方法模擬
主要瀏覽器對(duì)CSS3 box-shadow屬性支持情況一覽表

Internet ExplorerFirefoxSafariChromeOpera
很久以前6.03.03.23.09.6
不遠(yuǎn)的曾經(jīng)7.03.54.04.010.10
目前8.03.65.05.010.60
即將到來(lái)(最新2010)
將來(lái) (2010之后)9.04.05.*6.011.0

— 支持

— 不支持


三、IE效果實(shí)現(xiàn)密匙 – 模糊濾鏡
本文實(shí)現(xiàn)IE下的盒陰影效果的也是借助于IE濾鏡,不同于“CSS實(shí)現(xiàn)跨瀏覽器兼容性的盒陰影效果?”一文中的shadow濾鏡,本文實(shí)現(xiàn)效果的路徑為模糊濾鏡,英文名為blur filter?,可以讓IE瀏覽器下的元素邊緣模糊處理。我們先從最簡(jiǎn)單的實(shí)例開(kāi)始展示:
一個(gè)普通的藍(lán)背景div的代碼可能是這樣子:

復(fù)制代碼
代碼如下:

<div style="background:blue;height:100px;width:100px;"></div>

效果會(huì)如下所示: 


ok,現(xiàn)在我們對(duì)其應(yīng)用IE模糊濾鏡,模糊大小為5像素,結(jié)果會(huì)怎樣,這是相關(guān)代碼:

復(fù)制代碼
代碼如下:

<div style='background:blue;height:100px;width:100px;
filter:progid:DXImageTransform.Microsoft.Blur(pixelradius=5);
-ms-filter:"progid:DXImageTransform.Microsoft.Blur(pixelradius=5)";'>
</div>

結(jié)果在IE瀏覽器下
IE瀏覽器下應(yīng)用5像素模糊濾鏡效果  張?chǎng)涡?鑫空間-鑫生活 
現(xiàn)在大致對(duì)IE的模糊濾鏡有了簡(jiǎn)單直觀的認(rèn)識(shí)了,現(xiàn)在關(guān)鍵是如何將其應(yīng)用到投影效果中呢,這就是下面的主要內(nèi)容,也是本文最為重要的核心的部分。 

四、實(shí)現(xiàn)跨瀏覽器的盒陰影效果
對(duì)于支持box-shadow屬性的瀏覽器只要一層標(biāo)簽就可以搞定了,但是,如果要使用模糊濾鏡實(shí)現(xiàn)IE瀏覽器下的盒陰影效果,需要借助一個(gè)“幕后”的標(biāo)簽,這是一個(gè)與主體標(biāo)簽同樣大小的div,有著特定的背景色(取決于投影的顏色),以及模糊大小,由于與主體標(biāo)簽大小一致,現(xiàn)代瀏覽器不鳥(niǎo)IE私有的filter濾鏡,所以,此“幕后”標(biāo)簽的存在對(duì)于Firefox、Chrome這類現(xiàn)代瀏覽器的UI表現(xiàn)幾乎沒(méi)有任何影響。
對(duì)于現(xiàn)代瀏覽器,我們要實(shí)現(xiàn)一個(gè)元素的盒陰影效果,可能會(huì)使用如下的html+CSS代碼:
HTML代碼:

復(fù)制代碼
代碼如下:

<div class="baseBlock"></div>

CSS代碼:

復(fù)制代碼
代碼如下:

.baseBlock{
height:100px;
width:100px;
background:#f9f;
box-shadow:10px 10px 5px #000;
-moz-box-shadow:10px 10px 5px #000;
-webkit-box-shadow:10px 10px 5px #000;
}

對(duì)于IE瀏覽器,要想實(shí)現(xiàn)平滑自然的陰影效果,需要借助一個(gè)“幕后”元素,這個(gè)元素與“臺(tái)前”的元素大小一致,不同的是其應(yīng)用了filter模糊濾鏡,我們可以有如下樣式代碼:
HTML代碼

復(fù)制代碼
代碼如下:

<div class="ieBlock"></div>

CSS代碼:

復(fù)制代碼
代碼如下:

.ieBlock{
height:100px;
width:100px;
background:#000;
filter:progid:DXImageTransform.Microsoft.Blur(pixelradius=10);
-ms-filter:"progid:DXImageTransform.Microsoft.Blur(pixelradius=10)";
}

如果單獨(dú)顯示此“幕后”標(biāo)簽,則效果如下:
IE下10像素模糊效果 張?chǎng)涡?鑫空間-鑫生活 
現(xiàn)在我們要做的就是將上面進(jìn)行合并,為了更加接近于實(shí)際情況,這里的合并實(shí)例使用稍微復(fù)雜點(diǎn)的例子:
一個(gè)有文字,高度不定的div標(biāo)簽,如下CSS代碼:

復(fù)制代碼
代碼如下:

.baseBlock{
width:220px;
position:relative;
}
.baseBlockIn{
padding:10px 15px;
background:#a0b3d6;
box-shadow:10px 10px 5px #444;
-moz-box-shadow:10px 10px 5px #444;
-webkit-box-shadow:10px 10px 5px #444;
position:relative;
z-index:1;
}
.ieShadow{
_width:220px;
_height:220px;
filter:progid:DXImageTransform.Microsoft.Blur(pixelradius=5);
-ms-filter:"progid:DXImageTransform.Microsoft.Blur(pixelradius=5)";
background-color:#444\9;
position:absolute;
left:5px;
top:5px;
right:-5px;
bottom:-5px;
}

如下html代碼

復(fù)制代碼
代碼如下:

<div class="baseBlock">
<div class="baseBlockIn">昨晚請(qǐng)多玩優(yōu)秀員工吃飯,聊了幾點(diǎn)職場(chǎng)體會(huì)。(1) 把自己當(dāng)老板看,象老板一樣拼命干活,能力自然就提高了。有了能力,假如多玩不能給你好的回報(bào),其他公司一定會(huì)給。(2) 不是每次付出就一定有回報(bào),但是不斷付出就一定會(huì)有回報(bào)。@李學(xué)凌 補(bǔ)充了一點(diǎn):象你的老板一樣思考,能力會(huì)提高得更快。 </div>
<div class="ieShadow"></div>
</div>

結(jié)果如下圖所示(IE7瀏覽器):IE7下跨瀏覽器的盒陰影效果 張?chǎng)涡?鑫空間-鑫生活

Firefox3.6下:
Firefox3.6下盒陰影效果 張?chǎng)涡?鑫空間-鑫生活


說(shuō)明
1. baseBlockIn的層級(jí)要大于ieShadow的層級(jí)。
2. 對(duì)于高度自適應(yīng)的內(nèi)容,IE6無(wú)法實(shí)現(xiàn),因?yàn)镮E6無(wú)法使用absolute拉伸實(shí)現(xiàn)高寬自適應(yīng)。但是,也不是沒(méi)有解決方法,一是js,獲取主體內(nèi)容的高度,然后賦給“幕后”投影層;二是直接克隆主體內(nèi)容里面的內(nèi)容,全封不動(dòng)地塞給“幕后”陰影層。實(shí)例中使用hack給IE6設(shè)置了高寬,所以在IE6瀏覽器也是有盒陰影效果的,如果高寬去掉是沒(méi)有效果的,但是IE7+瀏覽器下是沒(méi)有這個(gè)問(wèn)題的。

五、內(nèi)陰影效果的實(shí)現(xiàn)
借助于blur濾鏡,還可以實(shí)現(xiàn)IE下的內(nèi)陰影效果。CSS3 box-shadow中有個(gè)inset屬性,可以實(shí)現(xiàn)內(nèi)陰影效果。所以,實(shí)現(xiàn)跨瀏覽器的內(nèi)陰影效果也是可能的。
例如下面的例子,首先是CSS代碼:

復(fù)制代碼
代碼如下:

.baseBlock{
width:220px;
position:relative;
overflow:hidden;
}
.baseBlockIn{
padding:10px 15px;
background-color:#888\9;
box-shadow:inset 30px 30px 20px #888;
-moz-box-shadow:inset 30px 30px 20px #888;
-webkit-box-shadow:inset 30px 30px 20px #888;
}
.ieShadow{
_width:220px;
_height:220px;
filter:progid:DXImageTransform.Microsoft.Blur(pixelradius=20);
-ms-filter:"progid:DXImageTransform.Microsoft.Blur(pixelradius=20)";
background-color:#fff\9;
position:absolute;
top:10px;
left:10px;
bottom:-10px;
right:-10px;
}
.content{
position:relative;
z-index:1;
}

html代碼如下

復(fù)制代碼
代碼如下:

<div class="baseBlock">
<div class="baseBlockIn">
<div class="ieShadow"></div>
<div class="content">昨晚請(qǐng)多玩優(yōu)秀員工吃飯,聊了幾點(diǎn)職場(chǎng)體會(huì)。(1) 把自己當(dāng)老板看,象老板一樣拼命干活,能力自然就提高了。有了能力,假如多玩不能給你好的回報(bào),其他公司一定會(huì)給。(2) 不是每次付出就一定有回報(bào),但是不斷付出就一定會(huì)有回報(bào)。@李學(xué)凌 補(bǔ)充了一點(diǎn):象你的老板一樣思考,能力會(huì)提高得更快。</div>
</div>
</div>

結(jié)果如下,首先是IE6瀏覽器:
IE6下的內(nèi)陰影效果 張?chǎng)涡?鑫空間-鑫生活

Firefox3.6下的效果如下:
Firefox下的內(nèi)陰影效果 張?chǎng)涡?鑫空間-鑫生活


六、結(jié)語(yǔ)
IE濾鏡時(shí)會(huì)大大降低頁(yè)面的效能,我覺(jué)得除了是非不得已的情況下,去使用濾鏡實(shí)現(xiàn)這類兼容性的盒陰影效果。其實(shí)CSS3的很多屬性在IE下都是可以使用濾鏡實(shí)現(xiàn)或是基本實(shí)現(xiàn)的。然而,頁(yè)面的情況千差萬(wàn)別,總會(huì)難免遇到非要使用投影效果的UI,此時(shí),本文所展示的方法不失為最佳選擇之一。

相關(guān)文章

  • css3 box-shadow陰影(外陰影與外發(fā)光)圖示講解

    這篇文章主要介紹了css3 box-shadow陰影(外陰影與外發(fā)光),通過(guò)五個(gè)測(cè)試通過(guò)圖片展示了陰影的不同位置不同效果,需要的朋友可以參考下
    2017-08-11
  • 詳解CSS3陰影 box-shadow的使用和技巧總結(jié)

    這篇文章主要介紹了詳解CSS3陰影 box-shadow的使用和技巧總結(jié) ,具有一定的參考價(jià)值,有需要的可以了解一下。
    2016-12-03
  • CSS3文本陰影text-shadow屬性詳解

    下面小編就為大家?guī)?lái)一篇關(guān)于CSS3文本陰影text-shadow屬性詳解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧,祝大家游戲愉快哦
    2016-08-08
  • 詳解CSS3的box-shadow屬性制作邊框陰影效果的方法

    這篇文章主要介紹了CSS3的box-shadow屬性制作邊框陰影效果的方法,box-shadow屬性還是十分強(qiáng)大的,能設(shè)定陰影的水平或垂直位置,以及陰影的顏色和尺寸等,需要的朋友可以參考下
    2016-05-10
  • CSS3實(shí)現(xiàn)千變?nèi)f化的文字陰影text-shadow效果設(shè)計(jì)

    這篇文章主要介紹了CSS3實(shí)現(xiàn)千變?nèi)f化的文字陰影text-shadow效果設(shè)計(jì)的相關(guān)資料,感興趣的小伙伴們可以參考一下
    2016-04-26
  • CSS3 text-shadow實(shí)現(xiàn)文字陰影效果

    這篇文章主要介紹了CSS3 text-shadow實(shí)現(xiàn)文字陰影效果的方法,豐富文字排版布局美化效果,感興趣的小伙伴們可以參考一下
    2016-02-24
  • CSS3 text shadow字體陰影效果

    最近在整理學(xué)習(xí)CSS3的一些小知識(shí),現(xiàn)在已經(jīng)整理了CSS3選擇器,CSS3圓角和CSS3元素陰影屬性的使用方法了。今天為大家整理一下CSS3中的字體陰影——text-shadow的使用方法。
    2016-01-08
  • 舉例詳解CSS中的text-shadow文字陰影效果使用

    這篇文章主要介紹了舉例詳解CSS中的text-shadow文字陰影效果使用,text-shadow的運(yùn)用是CSS入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-08-19
  • IE下模擬css3中的box-shadow(陰影)效果代碼

    在ie下模擬css3中的box-shadow(陰影)可以使用ie的Shadow(陰影)濾鏡來(lái)實(shí)現(xiàn),需要注意的是該濾鏡必須配合background屬性一起使用,否則該濾鏡失效
    2013-09-11
  • CSS3的文字陰影—text-shadow的使用方法

    前段時(shí)間整理了CSS3中的漸變Gradient、透明度RGBA、邊框圓角box-radius三個(gè)新屬性的使用方法,這幾次繼續(xù)整理了有關(guān)于CSS3的text-shadow的使用方法,需要了解的朋友可以詳細(xì)
    2012-12-25

最新評(píng)論