前言
之前我們已經給大家介紹了關于html5的新特性,除了html5的新特性,CSS3的新特性也是面試中經常被問到的。下面話不多說了,需要的朋友們跟隨小編來一起看看詳細的介紹吧。
選擇器
CSS3中新添加了很多選擇器,解決了很多之前需要用javascript才能解決的布局問題。
Transition,Transform和Animation
這三個特性是CSS3新增的和動畫相關的特性。
Transition
Transition可以在當元素從一種樣式變換為另一種樣式時為元素添加效果,而不用使用Flash動畫或JavaScript。
Transition有如下屬性:
在一個例子中使用所有過渡屬性如下:
div { 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 和 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;}
使用transition屬性簡寫如下:
div { transition: width 1s linear 2s; /* Firefox 4 */ -moz-transition:width 1s linear 2s; /* Safari and Chrome */ -webkit-transition:width 1s linear 2s; /* Opera */ -o-transition:width 1s linear 2s;}
Transform
Transform用來向元素應用各種2D和3D轉換,該屬性允許我們對元素進行旋轉、縮放、移動或傾斜等操作。使用方式如下:
div{ transform:rotate(7deg); -ms-transform:rotate(7deg); /* IE 9 */ -moz-transform:rotate(7deg); /* Firefox */ -webkit-transform:rotate(7deg); /* Safari 和 Chrome */ -o-transform:rotate(7deg); /* Opera */}
變換類型
transform可以有各種變換類型,即屬性值:
瀏覽器支持
Internet Explorer 10、Firefox、Opera 支持 transform 屬性。
Internet Explorer 9 支持替代的 -ms-transform 屬性(僅適用于 2D 轉換)。
Safari 和 Chrome 支持替代的 -webkit-transform 屬性(3D 和 2D 轉換)。
Opera 只支持 2D 轉換。
Animation
Animation讓CSS擁有了可以制作動畫的功能。使用CSS3的Animation制作動畫我們可以省去復雜的js代碼。使用方法大概如下:
@-webkit-keyframes anim1 { 0% { opacity: 0; font-size: 12px; } 100% { opacity: 1; font-size: 24px; } } .anim1Div { -webkit-animation-name: anim1 ; -webkit-animation-duration: 1.5s; -webkit-animation-iteration-count: 4; -webkit-animation-direction: alternate; -webkit-animation-timing-function: ease-in-out; }
具體用法可以參考教程:CSS3 Animation。
邊框
CSS3新增了三個邊框屬性,分別是border-radius、box-shadow和border-image。border-radius可以創建圓角邊框,box-shadow可以為元素添加陰影,border-image可以使用圖片來繪制邊框。IE9+支持border-radius和box-shadow屬性。Firefox、Chrome以及Safari支持所有新的邊框屬性。
背景
CSS3新增了幾個關于背景的屬性,分別是background-clip、background-origin、background-size和background-break。
background-clip
background-clip屬性用于確定背景畫區,有以下幾種可能的屬性:
通常情況,背景都是覆蓋整個元素的,利用這個屬性可以設定背景顏色或圖片的覆蓋范圍。
background-origin
background-clip屬性用于確定背景的位置,它通常與background-position聯合使用,可以從 border、padding、content來計算background-position(就像background-clip)。
background-size
background-size屬性常用來調整背景圖片的大小,主要用于設定圖片本身。有以下可能的屬性:
background-break
CSS3中,元素可以被分成幾個獨立的盒子(如使內聯元素span跨越多行),background-break 屬性用來控制背景怎樣在這些不同的盒子中顯示。
文字效果
word-wrap
CSS3中,word-wrap屬性允許您允許文本強制文本進行換行,即這意味著會對單詞進行拆分。所有主流瀏覽器都支持 word-wrap 屬性。
p { word-wrap:break-word;}
text-overflow
它與word-wrap是協同工作的,word-wrap設置或檢索當當前行超過指定容器的邊界時是否斷開轉行,而 text-overflow則設置或檢索當當前行超過指定容器的邊界時如何顯示。對于“text-overflow”屬性,有“clip”和“ellipsis”兩種可供選擇。
text-shadow
CSS3中,text-shadow可向文本應用陰影。能夠規定水平陰影、垂直陰影、模糊距離,以及陰影的顏色。
h1{ text-shadow: 5px 5px 5px #FF0000;}
text-decoration
CSS3里面開始支持對文字的更深層次的渲染,具體有三個屬性可供設置:
漸變
CSS3新增了漸變效果,包括linear-gradient(線性漸變)和radial-gradient(徑向漸變)。具體用法參考教程:CSS3 Gradient
@font-face特性
在CSS3之前,web設計師必須使用已在用戶計算機上安裝好的字體。通過CSS3,web設計師可以使用他們喜歡的任意字體。當您您找到或購買到希望使用的字體時,可將該字體文件存放到web服務器上,它會在需要時被自動下載到用戶的計算機上。字體是在 CSS3 @font-face 規則中定義的。Firefox、Chrome、Safari以及Opera支持 .ttf(True Type Fonts)和 .otf(OpenType Fonts)類型的字體。IE9+ 支持新的@font-face規則,但是僅支持 .eot類型的字體(Embedded OpenType)。
在新的@font-face規則中,必須首先定義字體的名稱(比如myFont),然后指向該字體文件。
如需為HTML元素使用字體,請通過font-family屬性來引用字體的名稱 (myFont)
@font-face { font-family: myFirstFont; src: url('Sansation_Light.ttf'), url('Sansation_Light.eot'); /* IE9+ */}div{ font-family:myFirstFont;}
多列布局
通過CSS3,能夠創建多個列來對文本進行布局,IE10和Opera支持多列屬性。Firefox 需要前綴-moz-,Chrome和Safari需要前綴-webkit-。主要有如下三個屬性:
div{ -moz-column-count:3; /* Firefox */ -webkit-column-count:3; /* Safari 和 Chrome */ column-count:3; -moz-column-gap:40px; /* Firefox */ -webkit-column-gap:40px; /* Safari 和 Chrome */ column-gap:40px; -moz-column-rule:3px outset #ff0000; /* Firefox */ -webkit-column-rule:3px outset #ff0000; /* Safari and Chrome */ column-rule:3px outset #ff0000;}
用戶界面
CSS3中,新的用戶界面特性包括重設元素尺寸、盒尺寸以及輪廓等。Firefox、Chrome以及Safari 支持resize屬性。IE、Chrome、Safari以及Opera支持box-sizing屬性。Firefox需要前綴-moz-。
所有主流瀏覽器都支持outline-offset屬性,除了IE。
resize
resize 屬性規定是否可由用戶調整元素尺寸。如果希望此屬性生效,需要設置元素的 overflow 屬性,值可以是 auto、hidden 或 scroll。
div{ resize:both; /* none|both|horizontal|vertical; */ overflow:auto;}
box-sizing
box-sizing屬性可設置的值有content-box、border-box和inherit。
outline-offset
outline-offset屬性對輪廓進行偏移,并在超出邊框邊緣的位置繪制輪廓。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對VeVb武林網的支持。
新聞熱點
疑難解答