CSS3

瀏覽器前綴报嵌?

  • 瀏覽器廠商以前就一直在實(shí)施CSS3,但是他還未成為真正的標(biāo)準(zhǔn)玻熙,為此叉庐,當(dāng)一些CSS3樣式語法還在波動(dòng)的時(shí)候裹匙,他們提出了針對(duì)瀏覽器的前綴瑞凑。
  • CSS3去兼容不同的瀏覽器,針對(duì)舊的瀏覽器做兼容概页,新的瀏覽器基本上不需要加前綴籽御。
瀏覽器 內(nèi)核 前綴
IE Trident -ms-
FireFox Gecko -moz-
Opear Presto -o-
Chrome Webkit -webkit-
Safari Webkit -webkit-
Opera、Chrome Blink

transition 過渡

  • transition-property:規(guī)定設(shè)置過渡的CSS屬性的名稱
  • transition-duration:規(guī)定完成過渡修熬過需要的多少秒或毫秒
  • transition-delay:定義過渡效果何時(shí)開始(延遲:正數(shù);提前:負(fù)數(shù)篱蝇;)
  • transition-timing-function贺待;規(guī)定速度效果的速度曲線 (linear:勻速;ease:逐漸慢下來零截;ease-in:加速麸塞;ease-out:減速;ease-in-out:先加速后減速涧衙;cubic-bezier:貝爾曲線哪工;)
  • 復(fù)合寫法:transition:屬性 過渡時(shí)間 延遲或提前時(shí)間 運(yùn)動(dòng)規(guī)律;
  • 注意:不要寫在hover上

transform 變形

  • translate : 位移 translatX translateY translateX(3d)
  • scale : 縮放 scaleX scaleY scaleZ(3d)
  • rotate : 旋轉(zhuǎn) (單位:deg) rotateX(3d) rotateY(3d) rotateZ (和rotate是等價(jià)的關(guān)系,正值是順時(shí)針旋轉(zhuǎn)弧哎,負(fù)值是逆時(shí)針旋轉(zhuǎn))
  • skew : 斜切
    skewX: (單位--deg 正值向左傾斜雁比,負(fù)值向右傾斜。)
    skewY

==transform的注意事項(xiàng)==

  • 1撤嫩、變形操作不會(huì)影響到其他元素偎捎。
  • 2、變形只能添加給塊元素序攘。
  • 3茴她、復(fù)合寫法,可以同時(shí)添加多個(gè)變形操作程奠。
    執(zhí)行是順序的丈牢。先執(zhí)行后面的操作,再執(zhí)行前面的操作瞄沙。translate會(huì)受到 rotate己沛、scale、skew的影響距境。

animation 動(dòng)畫

  • animation-name:設(shè)置動(dòng)畫的名字(自定義的)
  • animation-duration:動(dòng)畫持續(xù)的時(shí)間
  • animation-delay:動(dòng)畫的延遲時(shí)間
  • animation-iteration-count:動(dòng)畫的重復(fù)次數(shù)申尼,默認(rèn)值就是1,infinite就是無限
  • animation-timing-function:動(dòng)畫的運(yùn)動(dòng)形式垫桂。
==注意==
1晶姊、運(yùn)動(dòng)結(jié)束后,默認(rèn)會(huì)停留在起始位置。
2伪货、form <==> 0% to <==> 100%
3、復(fù)合樣式:animation:動(dòng)畫(@keyframes)名 持續(xù)時(shí)間 延遲時(shí)間 重復(fù)次數(shù) 運(yùn)動(dòng)形式

animation-fill-mode

規(guī)定動(dòng)畫播放前后钾怔,其動(dòng)畫效果是否可見碱呼。
  • none(默認(rèn)值):在運(yùn)動(dòng)結(jié)束后回到初始的位置,在延遲的情況下宗侦,讓0%在延遲之后生效愚臀。
  • backwards:在延遲的情況下,讓0%在延遲前生效矾利。
  • forwards:在運(yùn)動(dòng)結(jié)束后姑裂,停留在結(jié)束的位置
  • both:backwards和forwards同時(shí)生效馋袜。

animation-direction

屬性定義是否應(yīng)用該輪流反向播放動(dòng)畫
  • alternate:一次正向(0% ~ 100%),一次反向(100% ~ 0%)
  • reverse:永遠(yuǎn)都是反向舶斧,從100% ~ 0%
  • normal(默認(rèn)值):永遠(yuǎn)都是正向欣鳖,從0% ~ 100%;

animate.css

一款強(qiáng)大的預(yù)設(shè)css3動(dòng)畫庫

基本使用:
    animated:基類(基礎(chǔ)的樣式茴厉,每個(gè)動(dòng)畫效果都需要加)
    infinite:動(dòng)畫的無限次數(shù)
<link rel="stylesheet" href="animate.css">
<img src="" alt="" class="animated swing infinite" />

3D

transform
rotateX() : 正值向上翻轉(zhuǎn)
rotateY() : 正值向右翻轉(zhuǎn)
translateZ() :正值向前泽台,負(fù)值向后
scaleZ() :立體元素的厚度

3d寫法
    scale3d() : 三個(gè)值 x y z
    translate3d() : 三個(gè)值 x y z
    rotate3d() : 四個(gè)值 
    0|1(x軸是否添加旋轉(zhuǎn)角度),
    0|1(y軸是否添加旋轉(zhuǎn)角度)矾缓,
    0|1(z軸是否添加旋轉(zhuǎn)角度)怀酷,
    deg

perspective:離屏幕多遠(yuǎn)的距離去觀察元素,值越大幅度越小嗜闻。
perspective-origin:景深-基點(diǎn)位置蜕依,觀察元素的角度
transform-origin:x y z(z軸只能寫數(shù)值)
transform-style:3D空間
    flat(默認(rèn)值2d)、preserve-3d(3d,產(chǎn)生一個(gè)三維空間)
backface-visibility:背景隱藏
    hidden琉雳、visible(默認(rèn)值)

css3新增背景(圖)樣式

background-size:背景圖尺寸大小
    cover:覆蓋
    contain:包含
background-origin:背景圖的填充位置
    padding-box(默認(rèn))
    border-box
    content-box
background-clip:背景圖的剪裁方式
    padding-box
    border-box(默認(rèn))
    content-box
注:復(fù)合樣式中样眠,第一個(gè)是位置 第二個(gè)是裁切

漸變

linear-gradient:線性漸變 是值 需要添加到background-image屬性上
    point || angle
    color
    percentage
注:漸變的0deg是在元素的底部
radial-gradient:徑向漸變
    point
    color
    percentage

文字陰影

text-shadow
x
y
blur
color
多陰影
注:陰影的默認(rèn)顏色是字體顏色

盒子陰影

box-shadow
x
y
blur
spread
color
inset
多陰影
注:盒子陰影的默認(rèn)顏色是黑色的
注:默認(rèn)就是外陰影 如果設(shè)置outset不起作用「篮穑可選值只有inset

mask遮罩

url
repeat
x
y
w
h
多遮罩

注:mask目前是一個(gè)比較新的屬性 需要加瀏覽器前綴
注:默認(rèn)x y 都平鋪

倒影

box-reflect
    above
    below
    left
    right
    距離
    遮罩|漸變

注:box-reflect目前是一個(gè)比較新的屬性 需要加瀏覽器前綴
注:漸變只是針對(duì)透明度
注:通過transform:scale(-1) 也可以實(shí)現(xiàn)倒影效果

模糊

blur
    filter:blur()

計(jì)算

calc

分欄布局

column-count:分欄的個(gè)數(shù)
column-width:分欄的寬度
column-gap:分欄的間距
column-rule:芬蘭的邊線
column-span:合并分欄

注:分欄的寬度和分欄的個(gè)數(shù)不要一起設(shè)置

偽類和偽元素

  • 在CSS2.1中對(duì)偽類和偽元素的區(qū)別比較模糊吹缔。CSS3中對(duì)這兩個(gè)概念做了相對(duì)比較清晰地解釋,并且語法上也做了比較明顯的區(qū)分锯茄。
  • CSS3中規(guī)定偽類由一個(gè)冒號(hào)開始厢塘,然后為偽類的名稱;
  • 偽元素由兩個(gè)冒號(hào)開始肌幽,然后為偽元素的名稱晚碾。
偽類:
    偽類本質(zhì)上是為了彌補(bǔ)常規(guī)的CSS選擇器的不足,以便獲取到更多的信息喂急。通常表示獲取不存在于DOM樹中的信息格嘁,或獲取不能被常規(guī)CSS選擇器獲取的信息。
        :hover
        :focus
        :empty
        ...

偽元素:
    偽元素本質(zhì)上是創(chuàng)建了一個(gè)有內(nèi)容的虛擬容器廊移。這個(gè)容器不包含任何DOM元素糕簿,但是可以包含內(nèi)容。另外狡孔,開發(fā)者還可以為偽元素添加樣式懂诗。
        ::selection
        ::first-line / first-letter
        ::before / after

CSS Hack

  • CSS Hack 用來解決瀏覽器的兼容問題,為不同版本的瀏覽器制定編寫不同的CSS效果苗膝,使用每個(gè)瀏覽器單獨(dú)識(shí)別的樣式代碼殃恒,控制瀏覽器的顯示樣式。
Hack分類
    1、CSS屬性前綴法
        屬性前綴法是在CSS樣式屬性名前加上一些只有特定瀏覽器才能識(shí)別的hack前綴离唐,以達(dá)到預(yù)期的頁面展現(xiàn)效果病附。
    2、選擇器前綴法
        選擇器前綴法是針對(duì)一些頁面表現(xiàn)不一致或者需要特殊對(duì)待的瀏覽器亥鬓,在CSS選擇器前加上一些只有有些特定瀏覽器才能識(shí)別的前綴進(jìn)行hack
    3完沪、IE條件注釋法
        這種方式是IE瀏覽器專有的Hack方式,微軟官方推薦使用的hack方式 IE10以上已經(jīng)不支持注釋法

CSS屬性前綴法

前綴標(biāo)識(shí) 兼容瀏覽器
_(屬性名前) IE6
+贮竟、*(屬性名前) IE6丽焊、IE7
\9(屬性值后) IE6、IE7咕别、IE8技健、IE9
\0(屬性值后) IE8、IE9惰拱、IE10雌贱、IE11

選擇器前綴法

前綴標(biāo)識(shí) 兼容瀏覽器
*html IE6
*+html IE7
:root IE9以及現(xiàn)代瀏覽器

IE條件注釋法

前綴標(biāo)識(shí) 兼容瀏覽器
< !--[if IE]>...<![endif]--> IE
< !--[if IE 7]>...<![endif]--> IE7
< !--[if Ite IE 7]>...<![endif]--> IE7以下
< !--[if !IE 7]>...<![endif]--> 非IE7
注:
    let 小于等于
    gte 大于等于

IE低版本常見BUG

  • 由于就瀏覽器在設(shè)計(jì)上有很多缺陷,導(dǎo)致一些BUG的產(chǎn)生偿短,所以針對(duì)這些問題需要作出兼容處理欣孤。

常見兼容問題

1、透明度
    opacity IE8及以下版本不識(shí)別
    filter:alpha(opacity=50)//取值是0-100
2昔逗、雙邊距
    IE6 瀏覽器在元素浮動(dòng)的狀態(tài)下 margin為兩倍邊距
    _display:inline;
3降传、最小高度
    IE6 最小高度是19px
    overflow:hidden
4、圖片邊框
    IE10以下 在img被a標(biāo)簽包裹的時(shí)候會(huì)出現(xiàn)邊框
    border:none;

漸進(jìn)增強(qiáng)和優(yōu)雅降級(jí)

  • 漸進(jìn)增強(qiáng):針對(duì)低版本瀏覽器進(jìn)行構(gòu)建頁面勾怒,保證最基本的功能婆排,然后再針對(duì)高級(jí)的瀏覽器進(jìn)行效果、交互等改進(jìn)和追加功能達(dá)到更好的用戶體驗(yàn)
  • 優(yōu)雅降級(jí):一開始就構(gòu)建完整的功能笔链,然后再針對(duì)低版本瀏覽器進(jìn)行兼容
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末段只,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子鉴扫,更是在濱河造成了極大的恐慌赞枕,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,198評(píng)論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件坪创,死亡現(xiàn)場(chǎng)離奇詭異炕婶,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)莱预,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門柠掂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人锁施,你說我怎么就攤上這事。” “怎么了悉抵?”我有些...
    開封第一講書人閱讀 167,643評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵肩狂,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我姥饰,道長(zhǎng)傻谁,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,495評(píng)論 1 296
  • 正文 為了忘掉前任列粪,我火速辦了婚禮审磁,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘岂座。我一直安慰自己态蒂,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評(píng)論 6 397
  • 文/花漫 我一把揭開白布费什。 她就那樣靜靜地躺著钾恢,像睡著了一般。 火紅的嫁衣襯著肌膚如雪鸳址。 梳的紋絲不亂的頭發(fā)上瘩蚪,一...
    開封第一講書人閱讀 52,156評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音稿黍,去河邊找鬼疹瘦。 笑死,一個(gè)胖子當(dāng)著我的面吹牛巡球,可吹牛的內(nèi)容都是我干的言沐。 我是一名探鬼主播,決...
    沈念sama閱讀 40,743評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼辕漂,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼呢灶!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起钉嘹,我...
    開封第一講書人閱讀 39,659評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤鸯乃,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后跋涣,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體缨睡,經(jīng)...
    沈念sama閱讀 46,200評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評(píng)論 3 340
  • 正文 我和宋清朗相戀三年陈辱,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了奖年。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,424評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡沛贪,死狀恐怖陋守,靈堂內(nèi)的尸體忽然破棺而出震贵,到底是詐尸還是另有隱情,我是刑警寧澤水评,帶...
    沈念sama閱讀 36,107評(píng)論 5 349
  • 正文 年R本政府宣布猩系,位于F島的核電站,受9級(jí)特大地震影響中燥,放射性物質(zhì)發(fā)生泄漏寇甸。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評(píng)論 3 333
  • 文/蒙蒙 一疗涉、第九天 我趴在偏房一處隱蔽的房頂上張望拿霉。 院中可真熱鬧,春花似錦咱扣、人聲如沸绽淘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽收恢。三九已至,卻和暖如春祭往,著一層夾襖步出監(jiān)牢的瞬間伦意,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評(píng)論 1 271
  • 我被黑心中介騙來泰國打工硼补, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留驮肉,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,798評(píng)論 3 376
  • 正文 我出身青樓已骇,卻偏偏與公主長(zhǎng)得像离钝,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子褪储,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評(píng)論 2 359

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