五大CSS3新技術(shù)用法指導(dǎo)
本文向大家五大CSS3新技術(shù)使用,CSS是眾所周知且應(yīng)用廣泛的網(wǎng)站樣式語(yǔ)言,在它的版本三(CSS3)計(jì)劃中,新增了一些能夠節(jié)省時(shí)間的特性,5個(gè)有趣的新技術(shù)分別是:圓角、個(gè)別圓角、不透明度、陰影和調(diào)整元素大小。
五大CSS3新技術(shù)使用
CSS是眾所周知且應(yīng)用廣泛的網(wǎng)站樣式語(yǔ)言,在它的版本三(CSS3)計(jì)劃中,新增了一些能夠節(jié)省時(shí)間的特性。盡管只有當(dāng)前最新了瀏覽器版本才能支持這些效果,但了解它們還是必須且很有趣味性的。將在這篇文章向大家展示CSS中的5個(gè)有趣的新技術(shù):圓角、個(gè)別圓角、不透明度、陰影和調(diào)整元素大小。
1:基本標(biāo)記
在我們開始這個(gè)教程之前,先來(lái)創(chuàng)建整個(gè)教程都要使用的基本標(biāo)記。
我們的xHTML需要一下div元素:
#round,使用CSS3代碼實(shí)現(xiàn)圓角.
#indie,應(yīng)用個(gè)別的幾個(gè)圓角.
#opacity,展示新的CSS3實(shí)現(xiàn)不透明度的方式.
#shadow,展示不使用Photoshop的情況下,使用CSS3來(lái)實(shí)現(xiàn)陰影效果.
#resize,展示如何使用某種CSS來(lái)實(shí)現(xiàn)重設(shè)大小的效果.
綜上所述,我們的xHTML應(yīng)該是這樣的:
- <!DOCTYPEhtmlPUBLIC“-//W3C//DTDXHTML1.0Transitional//EN”
- “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
- <htmlxmlnshtmlxmlns=”http://www.w3.org/1999/xhtml”>
- <head>
- <metahttp-equivmetahttp-equiv=”Content-Type”
- content=”text/html;charset=utf-8″/>
- <title>AnIntroductiontoCSS3;ANettutsTutorial</title>
- <linkhreflinkhref=”style.css”rel=”stylesheet”
- type=”text/css”/>
- </head>
- <body>
- <dividdivid=”wrapper”>
- <dividdivid=”round”></div>
- <dividdivid=”indie”></div>
- <dividdivid=”opacity”></div>
- <dividdivid=”shadow”></div>
- <dividdivid=”resize”>
- <imgsrcimgsrc=”image.jpg”alt=”resizableimage”
- width=”200″height=”200″>
- </div>
- </div>
- </body>
- </html>
下面來(lái)創(chuàng)建基本CSS文件:
- body{
- background-color:#fff;
- }
- #wrapper{
- width:100%;
- height:100%;
- }
- div{
- width:300px;
- height:300px;
- margin:10px;
- float:left;
- }
正如你上面看到的,我們給每個(gè)div元素300px的寬和高,并讓它們向左浮動(dòng),整個(gè)頁(yè)面的div都留給我們?cè)诤竺娴墓ぷ髦刑砑訕邮健?p#
2:圓角
目前而言,創(chuàng)建圓角的方法有很多,但都很麻煩。最常用的方法:首先,你要?jiǎng)?chuàng)建圓角的圖片;然后,你要?jiǎng)?chuàng)建很多html元素并使用背景圖像的方式顯示圓角。具體流程你我都很清楚。
這個(gè)問(wèn)題將在CSS3中很簡(jiǎn)單的解決掉,那就是叫做“border-radius”的屬性。我們先創(chuàng)建一個(gè)黑色的div元素并給他設(shè)置黑色的邊框。邊框就是要實(shí)現(xiàn)“border-radius”屬性效果的前提。
像這樣:
- #round{
- background-color:#000;
- border:1pxsolid#000;
- }
現(xiàn)在你已經(jīng)創(chuàng)建了div元素,它看起來(lái)和你預(yù)期的樣子一樣,300px款和高有楞有角且是黑色的。下面我們來(lái)添加實(shí)現(xiàn)圓角的代碼,它是如此的簡(jiǎn)潔,僅僅需要兩行代碼。
- #round{
- background-color:#000;
- border:1pxsolid#000;
- -moz-border-radius:10px;
- -webkit-border-radius:10px;
- }
在這里,我們添加了兩行類似的代碼,-moz-適用于Firefox瀏覽器,而-webkit-則是用于Safari/Chrome瀏覽器。
注:目前為止IE瀏覽器不支持border-radius屬性,所以如果想讓IE也有圓角效果,那么就要單獨(dú)添加圓角了。
border-radius這個(gè)屬性直譯過(guò)來(lái)是邊框半徑的意思,就如同Photoshop一樣,它的值越大,圓角也就越大。
3:個(gè)別的圓角
如果按照過(guò)去的習(xí)慣做法,會(huì)浪費(fèi)你很多時(shí)間,現(xiàn)在CSS3能快速解決!
我們現(xiàn)在只想讓div的右上和右下是圓角,那么僅需稍作修改:
- #indie{
- background-color:#000;
- border:1pxsolid#000;
- -moz-border-radius-topright:10px;
- -moz-border-radius-bottomright:10px;
- -webkit-border-top-left-radius:10px;
- -webkit-border-bottom-left-radius:10px;
- }
試想一下這種做法會(huì)用在網(wǎng)頁(yè)中的什么元素呢?對(duì)!就是標(biāo)簽式的導(dǎo)航按鈕!#p#
4:以CSS3的方式修改不透明度
現(xiàn)在你可以按慣例編寫幾行代碼來(lái)實(shí)現(xiàn)不透明度的效果(hack)。不過(guò)CSS3簡(jiǎn)化了這個(gè)流程。
這行代碼很好記,僅僅是“opacity:value;”:
- #opacity{
- background-color:#000;
- opacity:0.3;
- }
5:陰影效果
實(shí)現(xiàn)陰影也有很多方法,最常用的就是使用Photoshop制作成陰影圖片,然后應(yīng)用到背景屬性中。但CSS3讓你的工作更有效率,不幸的是,目前只有Safari和Chrome支持這個(gè)新特性。
僅僅需要一行代碼,不過(guò)它有4個(gè)不同的值:
-webkit-box-shadow:3px5px10px#ccc;
下面我來(lái)解釋一下這四個(gè)值都代表什么,第一個(gè)3px是指定陰影與div元素之間的水平(橫向)距離,第二個(gè)5px指的是陰影與div之間的垂直(縱向)距離,第三個(gè)10px指的是陰影的模糊度(類似于photoshop中的羽化),值越大越細(xì)膩。最后的值不說(shuō)大家也知道,就是陰影的顏色。
我們最終陰影效果代碼;
- #shadow{
- background-color:#fff;
- border:1pxsolid#000;
- -webkit-box-shadow:3px5px10px#ccc;
- }
正如你看到的,我們個(gè)這個(gè)div設(shè)置了白色的背景,黑色的邊框和亮灰色的陰影。#p#
6:調(diào)整大小
在最新版本的CSS中,調(diào)整元素的尺寸已經(jīng)成為可能(不過(guò)目前僅Safari支持)
使用這個(gè)代碼以后,我們的元素的右下角會(huì)出現(xiàn)一個(gè)小三角以提示用戶這個(gè)元素是可以調(diào)整尺寸的。代碼依然很簡(jiǎn)單,可以說(shuō)僅需要一行代碼,當(dāng)然你還可以配合使用一些曾經(jīng)使用過(guò)的屬性,比如”max-width”,“max-height”,“min-width”和“min-height”.
- #resize{
- background-color:#fff;
- border:1pxsolid#000;
- resize:both;
- overflow:auto;
- }
在這里主要說(shuō)一下resize和overflow屬性,resize:both;的意思就是所有邊都可以調(diào)整尺寸,它的值還有horizontal和vertical,顧名思義,就是橫向和縱向。而overflow是為了配合resize工作的,在這里使用auto.
總結(jié)
怎么樣,你在這篇文章中有沒有什么收獲呢?雖然現(xiàn)在僅有很少數(shù)的瀏覽器支持CSS3,但不可否認(rèn)的是CSS3的確會(huì)為我們的工作節(jié)省更多的時(shí)間。如果你對(duì)漸進(jìn)增強(qiáng)有所了解和認(rèn)識(shí)的話,我想你會(huì)欣然接受CSS3這個(gè)強(qiáng)大的新版本的。不要再把你的時(shí)間都花在IE6上了,那樣你只能會(huì)是過(guò)時(shí)的前端開發(fā)工程師。
【編輯推薦】
- CSS中block級(jí)和inline級(jí)對(duì)象區(qū)別
- JavaScript動(dòng)態(tài)創(chuàng)建div屬性和樣式
- DIV CSS建站對(duì)瀏覽器兼容性和注意事項(xiàng)
- CSS2.0中page-break-after屬性用法
- 解讀DIV CSS網(wǎng)頁(yè)布局中CSS無(wú)效十個(gè)原因