css3新特性

<meta charset="utf-8">

1 漸變(linear)

漸變一般用于背景顏色的設(shè)置上

1 線性漸變

使用方向:

語法: background: linear-gradient(direction, color-stop1, color-stop2, ...);

可規(guī)定不同方向拭荤,向上/向下/向左/向右/對角绵疲,如:

.linear{ float: left; margin-left: 20px; width: 400px; height: 400px; text-align: center; line-height: 400px; color: #ffffff; } .linear-down{ background: -webkit-linear-gradient(red, blue); /* Safari 5.1 - 6.0 */ background: -o-linear-gradient(red, blue); /* Opera 11.1 - 12.0 */ background: -moz-linear-gradient(red, blue); /* Firefox 3.6 - 15 */ background: linear-gradient(red, blue); /* 標(biāo)準(zhǔn)的語法(必須放在最后) */ } .linear-up{ background: -webkit-linear-gradient(down,red, blue); /* Safari 5.1 - 6.0 */ background: -o-linear-gradient(top,red, blue); /* Opera 11.1 - 12.0 */ background: -moz-linear-gradient(top,red, blue); /* Firefox 3.6 - 15 */ background: linear-gradient(to top,red, blue); /* 標(biāo)準(zhǔn)的語法(必須放在最后) */ } .linear-left{ background: -webkit-linear-gradient(right,red, blue); /* Safari 5.1 - 6.0 */ background: -o-linear-gradient(left,red, blue); /* Opera 11.1 - 12.0 */ background: -moz-linear-gradient(left,red, blue); /* Firefox 3.6 - 15 */ background: linear-gradient(to left,red, blue); /* 標(biāo)準(zhǔn)的語法(必須放在最后) */ } .linear-right{ background: -webkit-linear-gradient(left,red, blue); /* Safari 5.1 - 6.0 */ background: -o-linear-gradient(right,red, blue); /* Opera 11.1 - 12.0 */ background: -moz-linear-gradient(right,red, blue); /* Firefox 3.6 - 15 */ background: linear-gradient(to right,red, blue); /* 標(biāo)準(zhǔn)的語法(必須放在最后) */ } <div class="linear-down linear"> 這是背景向下的漸變 </div> <div class="linear-up linear"> 這是背景向上的漸變 </div> <div class="linear-left linear"> 這是背景向左的漸變 </div> <div class="linear-right linear"> 這是背景向右的漸變 </div>

效果如下:

圖片.png

注意:最好是將各個瀏覽器的屬性都寫上瓤漏,標(biāo)準(zhǔn)語法寫在后面测蘑,標(biāo)準(zhǔn)語法 to + 方向谨朝,比如向左的話是 to left犀暑,而除了 webkit 中第一個屬性是 起始點(diǎn)位帽揪,如向下是 top戏罢,其他都是 方向向哪(比如向下 就是 down)屋谭,默認(rèn)的話是從上往下。

對角也是如此龟糕,就第一個參數(shù)使用兩個方向桐磁,如 left top

使用角度:

語法: background: linear-gradient(angle, color-stop1, color-stop2, ...);

角度是指水平和漸變線的角度,按逆時針方向計(jì)算讲岁。換句話說我擂,0deg 將創(chuàng)建一個從下到上的漸變衬以,90deg 將創(chuàng)建一個從左到右的漸變。

圖片.png
.linear{ float: left; margin-left: 20px; width: 400px; height: 400px; text-align: center; line-height: 400px; color: #ffffff; } .linear-0{ background: -webkit-linear-gradient(0deg,red, blue); /* Safari 5.1 - 6.0 */ background: -o-linear-gradient(0deg,red, blue); /* Opera 11.1 - 12.0 */ background: -moz-linear-gradient(0deg,red, blue); /* Firefox 3.6 - 15 */ background: linear-gradient(0deg,red, blue); /* 標(biāo)準(zhǔn)的語法(必須放在最后) */ } .linear-90{ background: -webkit-linear-gradient(90deg,red, blue); /* Safari 5.1 - 6.0 */ background: -o-linear-gradient(90deg,red, blue); /* Opera 11.1 - 12.0 */ background: -moz-linear-gradient(90deg,red, blue); /* Firefox 3.6 - 15 */ background: linear-gradient(90deg,red, blue); /* 標(biāo)準(zhǔn)的語法(必須放在最后) */ } .linear-180{ background: -webkit-linear-gradient(180deg,red, blue); /* Safari 5.1 - 6.0 */ background: -o-linear-gradient(180deg,red, blue); /* Opera 11.1 - 12.0 */ background: -moz-linear-gradient(180deg,red, blue); /* Firefox 3.6 - 15 */ background: linear-gradient(180deg,red, blue); /* 標(biāo)準(zhǔn)的語法(必須放在最后) */ } .linear--90{ background: -webkit-linear-gradient(-90deg,red, blue); /* Safari 5.1 - 6.0 */ background: -o-linear-gradient(-90deg,red, blue); /* Opera 11.1 - 12.0 */ background: -moz-linear-gradient(-90deg,red, blue); /* Firefox 3.6 - 15 */ background: linear-gradient(-90deg,red, blue); /* 標(biāo)準(zhǔn)的語法(必須放在最后) */ } <div class="linear-0 linear"> 0deg </div> <div class="linear-90 linear"> 90deg </div> <div class="linear-180 linear"> 180deg </div> <div class="linear--90 linear"> -90deg </div>
圖片.png

2 徑向漸變

由中心往兩邊擴(kuò)散校摩,由中心定義看峻,同時,也可以指定漸變中心衙吩,形狀(圓形或橢圓形)互妓,大小

語法:background: radial-gradient(center, shape size, start-color, ..., last-color);

第一個參數(shù)設(shè)定中心點(diǎn)位置,第二個是尺寸大小坤塞,如:

#grad1 { height: 150px; width: 150px; background: -webkit-radial-gradient(60% 55%, closest-side,blue,green,yellow,black); /* Safari 5.1 - 6.0 */ background: -o-radial-gradient(60% 55%, closest-side,blue,green,yellow,black); /* Opera 11.6 - 12.0 */ background: -moz-radial-gradient(60% 55%, closest-side,blue,green,yellow,black); /* Firefox 3.6 - 15 */ background: radial-gradient(60% 55%, closest-side,blue,green,yellow,black); /* 標(biāo)準(zhǔn)的語法(必須放在最后) */ } #grad2 { height: 150px; width: 150px; background: -webkit-radial-gradient(60% 55%, farthest-side,blue,green,yellow,black); /* Safari 5.1 - 6.0 */ background: -o-radial-gradient(60% 55%, farthest-side,blue,green,yellow,black); /* Opera 11.6 - 12.0 */ background: -moz-radial-gradient(60% 55%, farthest-side,blue,green,yellow,black); /* Firefox 3.6 - 15 */ background: radial-gradient(60% 55%, farthest-side,blue,green,yellow,black); /* 標(biāo)準(zhǔn)的語法(必須放在最后) */ } #grad3 { height: 150px; width: 150px; background: -webkit-radial-gradient(60% 55%, closest-corner,blue,green,yellow,black); /* Safari 5.1 - 6.0 */ background: -o-radial-gradient(60% 55%, closest-corner,blue,green,yellow,black); /* Opera 11.6 - 12.0 */ background: -moz-radial-gradient(60% 55%, closest-corner,blue,green,yellow,black); /* Firefox 3.6 - 15 */ background: radial-gradient(60% 55%, closest-corner,blue,green,yellow,black); /* 標(biāo)準(zhǔn)的語法(必須放在最后) */ } #grad4 { height: 150px; width: 150px; background: -webkit-radial-gradient(60% 55%, farthest-corner,blue,green,yellow,black); /* Safari 5.1 - 6.0 */ background: -o-radial-gradient(60% 55%, farthest-corner,blue,green,yellow,black); /* Opera 11.6 - 12.0 */ background: -moz-radial-gradient(60% 55%, farthest-corner,blue,green,yellow,black); /* Firefox 3.6 - 15 */ background: radial-gradient(60% 55%, farthest-corner,blue,green,yellow,black); /* 標(biāo)準(zhǔn)的語法(必須放在最后) */ } <h3>徑向漸變 - 不同尺寸大小關(guān)鍵字的使用</h3> <p><strong>closest-side:</strong></p> <div id="grad1"></div> <p><strong>farthest-side:</strong></p> <div id="grad2"></div> <p><strong>closest-corner:</strong></p> <div id="grad3"></div> <p><strong>farthest-corner(默認(rèn)):</strong></p> <div id="grad4"></div>

效果如下:

圖片.png

2 過渡(transition)

元素從一種樣式到另一種樣式時為元素添加效果冯勉,通常需要 CSS 屬性改變,需要一個觸發(fā)點(diǎn)摹芙,典型事件就是鼠標(biāo)指針位于元素上

語法: transition是簡寫珠闰,有四個屬性

transition-property:規(guī)定應(yīng)用過渡的 CSS 屬性名稱

transition-duration:過渡效果花費(fèi)的時間,默認(rèn)為0

transition-timing-function: 過渡效果時間曲線瘫辩,默認(rèn)是“ease(平滑)”

transition-delay: 規(guī)定過渡效果何時開始伏嗜,默認(rèn)是0

如:transition: width 1s linear 2s

transition-timing-function能取的值

1 linear:規(guī)定以相同速度開始到結(jié)束的過渡效果

2 ease: 規(guī)定慢速開始,然后變快伐厌,然后再慢速結(jié)束的過渡效果

3 ease-in: 規(guī)定慢速開始的過渡效果

4 ease-out: 規(guī)定慢速結(jié)束的過渡效果

5 ease-in-out:規(guī)定那個慢速開始和結(jié)束的過渡效果

div { width:100px; height:100px; background:yellow; transition-property:width; transition-duration:1s; transition-timing-function:linear; transition-delay:2s; /* Firefox 4 */ -moz-transition-property:width; -moz-transition-duration:1s; -moz-transition-timing-function:linear; -moz-transition-delay:2s; /* Safari and Chrome */ -webkit-transition-property:width; -webkit-transition-duration:1s; -webkit-transition-timing-function:linear; -webkit-transition-delay:2s; /* Opera */ -o-transition-property:width; -o-transition-duration:1s; -o-transition-timing-function:linear; -o-transition-delay:2s; } div:hover { width:200px; } <body> <div></div> <p>請把鼠標(biāo)指針放到黃色的 div 元素上承绸,來查看過渡效果。</p> <p><b>注釋:</b>本例在 Internet Explorer 中無效挣轨。</p> <p><b>注釋:</b>這個過渡效果會在開始之前等待兩秒军熏。</p> </body>

效果如下:


圖片.png

2s后,寬度會變長


圖片.png

而當(dāng)鼠標(biāo)移開時卷扮,就恢復(fù)原狀

2 轉(zhuǎn)換(transform)

轉(zhuǎn)換的2D 轉(zhuǎn)換方法:

  • translate(x荡澎,y) --- 移動,沿著 X 和 Y軸移動元素 x 和 y
  • rotate() --- 順時針旋轉(zhuǎn)角度
  • scale() --- 縮放晤锹,給定寬度(x軸)和高度(Y軸)參數(shù)
  • skew() --- 翻轉(zhuǎn)摩幔,元素翻轉(zhuǎn)給定的角度,根據(jù)給定的水平線(X 軸)和垂直線(Y 軸)參數(shù)
  • matrix --- 所有2D轉(zhuǎn)換的組合

語法: transform: translate(40px,50px)【這里加轉(zhuǎn)換方法】

如:

<style> div { width:100px; height:75px; background-color:yellow; border:1px solid black; } div#div2 { transform:translate(50px,100px); -ms-transform:translate(50px,100px); /* IE 9 */ -moz-transform:translate(50px,100px); /* Firefox */ -webkit-transform:translate(50px,100px); /* Safari and Chrome */ -o-transform:translate(50px,100px); /* Opera */ } </style> </head> <body> <div>你好鞭铆。這是一個 div 元素或衡。</div> <div id="div2">你好。這是一個 div 元素车遂。</div>

效果如下:

圖片.png

重點(diǎn)說一下3D轉(zhuǎn)換的方法

轉(zhuǎn)換是使元素改變形狀封断、尺寸和位置的一種效果

其實(shí)3D 轉(zhuǎn)換就是將坐標(biāo)系擴(kuò)展到三維,也就是有Z軸舶担,常見 3D 轉(zhuǎn)換方法

-- rotateX() 繞 X 軸給定度數(shù)進(jìn)行旋轉(zhuǎn)

-- rotateY() 繞 Y 軸給定度數(shù)進(jìn)行旋轉(zhuǎn)

-- translateZ() 在 Z 軸移動元素位置

-- translate3d(x,y,z)坡疼, 定義 3D 轉(zhuǎn)化

開啟GPU加速,其中一個方法是將視圖層弄成復(fù)合圖層衣陶,GPU對其進(jìn)行渲染柄瑰,而 3D 方法是可以將視圖層弄成復(fù)合圖層的废岂,所以轉(zhuǎn)換成 3D 的方法都是可以開啟GPU加速渲染的

3 動畫(animation)

css3@keyframes 規(guī)則

@keyframes 規(guī)則用于創(chuàng)建動畫。在 @keyframes 中規(guī)定某項(xiàng) CSS 樣式狱意,就能創(chuàng)建由當(dāng)前樣式逐漸改為新樣式的動畫效果。語法如下:

@keyframes myfirst { from {background: red;} to {background: yellow;} } @-moz-keyframes myfirst /* Firefox */ { from {background: red;} to {background: yellow;} } @-webkit-keyframes myfirst /* Safari 和 Chrome */ { from {background: red;} to {background: yellow;} } @-o-keyframes myfirst /* Opera */ { from {background: red;} to {background: yellow;} }

css3動畫

@keyframes 規(guī)則創(chuàng)建動畫后拯欧,要捆綁在某個選擇器详囤,否則不會產(chǎn)生效果

通過規(guī)定至少以下兩項(xiàng) CSS3 動畫屬性,即可將動畫綁定到選擇器:

  • 規(guī)定動畫的名稱
  • 規(guī)定動畫的時長

如:

div { animation: myfirst 5s; -moz-animation: myfirst 5s; /* Firefox */ -webkit-animation: myfirst 5s; /* Safari 和 Chrome */ -o-animation: myfirst 5s; /* Opera */ }

實(shí)例如下:

<style> div { width:100px; height:100px; background:red; animation:myfirst 5s; -moz-animation:myfirst 5s; /* Firefox */ -webkit-animation:myfirst 5s; /* Safari and Chrome */ -o-animation:myfirst 5s; /* Opera */ } @keyframes myfirst { 0% {background:red;} 25% {background:yellow;} 50% {background:blue;} 100% {background:green;} } @-moz-keyframes myfirst /* Firefox */ { 0% {background:red;} 25% {background:yellow;} 50% {background:blue;} 100% {background:green;} } @-webkit-keyframes myfirst /* Safari and Chrome */ { 0% {background:red;} 25% {background:yellow;} 50% {background:blue;} 100% {background:green;} } @-o-keyframes myfirst /* Opera */ { 0% {background:red;} 25% {background:yellow;} 50% {background:blue;} 100% {background:green;} } </style> </head> <body> <div></div> <p><b>注釋:</b>當(dāng)動畫完成時镐作,會變回初始的樣式藏姐。</p> <p><b>注釋:</b>本例在 Internet Explorer 中無效。</p> </body>

C333 動畫屬性

animation: 所有動畫屬性的簡寫该贾,除了 animation-play-state 屬性羔杨。

animation-name:動畫名稱

animation-duration:動畫時長。默認(rèn)0

animation-timing-function: 動畫速度曲線杨蛋,默認(rèn)“ease”

animation-delay:動畫何時開始兜材,默認(rèn)0

animation-iteration-count:n / infinite(無限次) 動畫播放次數(shù),默認(rèn)1

animation-direction:normal / alternate(反向) 規(guī)定動畫是否在下一周期逆向播放逞力。默認(rèn)是“normal”曙寡,

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市寇荧,隨后出現(xiàn)的幾起案子举庶,更是在濱河造成了極大的恐慌,老刑警劉巖揩抡,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件户侥,死亡現(xiàn)場離奇詭異,居然都是意外死亡峦嗤,警方通過查閱死者的電腦和手機(jī)蕊唐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來烁设,“玉大人刃泌,你說我怎么就攤上這事∈鹩龋” “怎么了耙替?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長曹体。 經(jīng)常有香客問我俗扇,道長,這世上最難降的妖魔是什么箕别? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任铜幽,我火速辦了婚禮滞谢,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘除抛。我一直安慰自己狮杨,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布到忽。 她就那樣靜靜地躺著橄教,像睡著了一般。 火紅的嫁衣襯著肌膚如雪喘漏。 梳的紋絲不亂的頭發(fā)上护蝶,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天,我揣著相機(jī)與錄音翩迈,去河邊找鬼持灰。 笑死,一個胖子當(dāng)著我的面吹牛负饲,可吹牛的內(nèi)容都是我干的堤魁。 我是一名探鬼主播,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼返十,長吁一口氣:“原來是場噩夢啊……” “哼姨涡!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起吧慢,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤涛漂,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后检诗,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體匈仗,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年逢慌,在試婚紗的時候發(fā)現(xiàn)自己被綠了悠轩。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡攻泼,死狀恐怖火架,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情忙菠,我是刑警寧澤何鸡,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站牛欢,受9級特大地震影響骡男,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜傍睹,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一隔盛、第九天 我趴在偏房一處隱蔽的房頂上張望犹菱。 院中可真熱鬧,春花似錦吮炕、人聲如沸腊脱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽陕凹。三九已至,卻和暖如春俱笛,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背传趾。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工迎膜, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人浆兰。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓磕仅,卻偏偏與公主長得像,于是被迫代替她去往敵國和親簸呈。 傳聞我的和親對象是個殘疾皇子榕订,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內(nèi)容

  • HTML5 1.HTML5新元素 HTML5提供了新的元素來創(chuàng)建更好的頁面結(jié)構(gòu): 標(biāo)簽描述 定義頁面獨(dú)立的內(nèi)容區(qū)域...
    L怪丫頭閱讀 2,802評論 0 4
  • CSS3簡介 CSS3的現(xiàn)狀 瀏覽器支持程度差,需要添加 私有前綴 蜕便; 移動端支持優(yōu)于PC端劫恒; 不斷改進(jìn)中; 應(yīng)用...
    magic_pill閱讀 779評論 0 1
  • 原文鏈接 除了html5的新特性轿腺,CSS3的新特性也是面試中經(jīng)常被問到的两嘴。 選擇器 CSS3中新添加了很多選擇器,...
    bestvist閱讀 8,415評論 0 8
  • 歡迎訪問我的博客https://qqqww.com/族壳,祝所有碼農(nóng)同胞們早日走上人生巔峰憔辫,迎娶白富美~~ 詳細(xì)請移步...
    這里王工頭閱讀 1,586評論 0 16
  • 1. 新的背景 背景在CSS3中也得到很大程度的增強(qiáng),比如背景圖片尺寸仿荆、背景裁切區(qū)域贰您、背景定位參照點(diǎn)、多重背景等拢操。...
    IT老馬閱讀 2,545評論 0 9