HTML css3 新特性

框架集

  • 框架集和內(nèi)聯(lián)框架的作用類似卿堂,都是用于在一個頁面中引入其他的外部的頁面
    框架集可以同時引入多個頁面坠陈,而內(nèi)聯(lián)框架只能引入一個
    在h5標(biāo)準(zhǔn)中淹遵,推薦使用框架集咽安,而不使用內(nèi)聯(lián)框架

  • 使用frameset來創(chuàng)建一個框架集耕捞,注意frameset不能和body出現(xiàn)在同一個頁面中
    所以要使用框架集衔掸,頁面中就不可以使用body標(biāo)簽

屬性:
rows,指定框架集中的所有的框架俺抽,一行一行的排列
cols敞映, 指定框架集中的所有的頁面,一列一列的排列
這兩個屬性frameset必須選擇一個磷斧,并且需要在屬性中指定每一部分所占的大小
frameset中也可以再嵌套frameset

frameset和iframe一樣振愿,它里邊的內(nèi)容都不會被搜索引擎所檢索,所以如果搜索引擎檢索到的頁面是一個框架頁的話,它是不能去判斷里邊的內(nèi)容的

使用框架集則意味著頁面中不能有自己的內(nèi)容弛饭,只能引入其他的頁面,而我們每單獨加載一個頁面冕末,瀏覽器都需要重新發(fā)送一次請求,引入幾個頁面就需要發(fā)送幾次請求侣颂,用戶的體驗比較差.
如果非得用建議使用frameset而不使用iframe

ie6png的修復(fù)

  • 在IE6中對圖片格式png24支持度不高档桃,如果使用的圖片格式是png24,則會導(dǎo)致透明效果無法正常顯示

解決方法:
1.可以使用png8來代替png24憔晒,即可解決問題藻肄,但是使用png8代替png24以后蔑舞,圖片的清晰圖會有所下降
2.使用JavaScript來解決該問題,需要向頁面中引入一個外部的JavaScript文件嘹屯,然后在寫一下簡單的JS代碼攻询,來處理該問題

以下代碼只會在IE6中執(zhí)行,其他瀏覽器中無效 -->

[if IE 6]
<script type="text/javascript" src="js/DD_belatedPNG_0.0.8a-min.js"></script>
<script type="text/javascript">
DD_belatedPNG.fix("div,img");
</script>

條件Hack

  • 有一些情況州弟,有一些特殊的代碼我們只需要在某些特殊的瀏覽器中執(zhí)行钧栖,而在其他的瀏覽器中不需要執(zhí)行,這時就可以使用CSS Hack來解決該問題
  • CSS Hack實際上指的是一種特殊的代碼婆翔,這段代碼只在某些瀏覽器中可以識別拯杠,而其他瀏覽器不能識別,通過這種方式浙滤,來為一些瀏覽器設(shè)置特殊的代碼
    條件Hack,它只對IE瀏覽器有效阴挣,其它的瀏覽器都會將它識別為注釋IE10及以上的瀏覽器已經(jīng)不支持這種方式
  • 以下內(nèi)容只會出現(xiàn)在IE6中

[if IE 6]
<p>為了您和家人的健康,請遠(yuǎn)離IE67睦啊畔咧!</p>
<![endif]

[if IE 8]
    <p>當(dāng)前瀏覽器是IE8!揖膜!</p>
[endif]

[if lt IE 9]
    <p>該標(biāo)簽會在IE9以下的瀏覽器中顯示</p>
    [endif]

[if gte IE 9]
    <p>該標(biāo)簽會在IE9及以上的瀏覽器中顯示</p>
[endif]

[if lte IE 9]
    <p>該標(biāo)簽會在IE9及以下的瀏覽器中顯示</p>
[endif]

[if ! IE 6]
    <p>你的瀏覽器不是IE6</p>
[endif]

屬性hack

  • 假設(shè)在IE6中需要將背景顏色設(shè)置為黃色才能達(dá)到和其它瀏覽器相同的效果

希望黃色背景只在IE6中生效
在樣式前添加一個下劃線誓沸,則該樣式只有IE6及以下的瀏覽器才可以識別

        /*_background-color: yellow;*/

        /*添加了*的樣式只有IE7及以下的瀏覽器認(rèn)識*/
        /**background-color: yellow;*/

        /*在樣式最后添加一個\0,則只有IE8及以上的瀏覽器才能識別*/
        /*background-color: yellow\0;*/

        /*
        CSS Hack不到萬不得已的情況盡量不要使用
        */
  • 在選擇器前添加* html 則該選擇器只有IE6可以識別

CSS3圓角壹粟、陰影拜隧、rgba

CSS3圓角
設(shè)置某一個角的圓角,比如設(shè)置左上角的圓角:
border-top-left-radius:30px 60px;

同時分別設(shè)置四個角: border-radius:30px 60px 120px 150px;

設(shè)置四個圓角相同:
border-radius:50%;

CSS3陰影
box-shadow:h-shadow v-shadow blur spread color inset;
分別設(shè)置陰影:水平偏移 垂直偏移 羽化大小 擴(kuò)展大小 顏色 是否內(nèi)陰影

<style type="text/css">
    .box{
        width:200px;
        height:50px;
        background-color:gold;
        /* box-shadow:10px 10px 5px 2px pink inset; */
        box-shadow:10px 10px 5px 2px pink;
    }
</style>
......
<div class="box"></div>
<!-- 給盒子加上了粉紅色的陰影 -->
  • rgba(新的顏色值表示法)
    1趁仙、盒子透明度表示法:opacity:0.1;filter:alpha(opacity=10)(兼容IE);
    2洪添、rgba(0,0,0,0.1) 前三個數(shù)值表示顏色,第四個數(shù)值表示顏色的透明度

CSS3 transition動畫

1雀费、transition-property 設(shè)置過渡的屬性干奢,比如:width height background-color
2、transition-duration 設(shè)置過渡的時間盏袄,比如:1s 500ms
3忿峻、transition-timing-function 設(shè)置過渡的運動方式

  • linear 勻速
  • ease 開始和結(jié)束慢速
  • ease-in 開始是慢速
  • ease-out 結(jié)束時慢速
  • ease-in-out 開始和結(jié)束時慢速
  • cubic-bezier(n,n,n,n)

4、transition-delay 設(shè)置動畫的延遲
5辕羽、transition: property duration timing-function delay 同時設(shè)置四個屬性

舉例:

<style type="text/css">        
.box{
    width:100px;
    height:100px;
    background-color:gold;
    transition:width 300ms ease,height 300ms ease 300ms,background-color 300ms ease 600ms;            
}
.box:hover{
    width:300px;
    height:300px;
    background-color:red;
}
</style>
......
<div class="box"></div>

CSS3 transform變換

1逛尚、translate(x,y) 設(shè)置盒子位移
2、scale(x,y) 設(shè)置盒子縮放
3刁愿、rotate(deg) 設(shè)置盒子旋轉(zhuǎn)
4绰寞、skew(x-angle,y-angle) 設(shè)置盒子斜切
5、perspective 設(shè)置透視距離
6、transform-style flat | preserve-3d 設(shè)置盒子是否按3d空間顯示
7克握、translateX蕾管、translateY枷踏、translateZ 設(shè)置三維移動
8菩暗、rotateX、rotateY旭蠕、rotateZ 設(shè)置三維旋轉(zhuǎn)
9停团、scaleX、scaleY掏熬、scaleZ 設(shè)置三維縮放
10佑稠、tranform-origin 設(shè)置變形的中心點
11、backface-visibility 設(shè)置盒子背面是否可見

舉例:(翻面效果)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>翻面</title>
    <style type="text/css">
        .box{
            width:300px;
            height:272px;
            margin:50px auto 0;
            transform-style:preserve-3d;
            position:relative;            
        }
        .box .pic{
            width:300px;
            height:272px;
            position:absolute;
            background-color:cyan;
            left:0;
            top:0;
            transform:perspective(800px) rotateY(0deg);
            backface-visibility:hidden;
            transition:all 500ms ease;
        }
        .box .back_info{
            width:300px;
            height:272px;
            text-align:center;
            line-height:272px;
            background-color:gold;
            position:absolute;
            left:0;
            top:0;
            transform:rotateY(180deg);
            backface-visibility:hidden;
            transition:all 500ms ease;            
        }
        .box:hover .pic{
            transform:perspective(800px) rotateY(180deg);
        }
        .box:hover .back_info{
            transform:perspective(800px) rotateY(0deg);
        }
    </style>
</head>
<body>
    <div class="box">        
        <div class="pic"><img src="images/location_bg.jpg"></div>
        <div class="back_info">背面文字說明</div>
    </div>
</body>
</html>

CSS3 animation動畫

1旗芬、@keyframes 定義關(guān)鍵幀動畫
2舌胶、animation-name 動畫名稱
3、animation-duration 動畫時間
4疮丛、animation-timing-function 動畫曲線

  • linear 勻速
  • ease 開始和結(jié)束慢速
  • ease-in 開始是慢速
  • ease-out 結(jié)束時慢速
  • ease-in-out 開始和結(jié)束時慢速
  • steps 動畫步數(shù)

5幔嫂、animation-delay 動畫延遲
6、animation-iteration-count 動畫播放次數(shù) n|infinite
7誊薄、animation-direction

  • normal 默認(rèn)動畫結(jié)束不返回
  • Alternate 動畫結(jié)束后返回

8履恩、animation-play-state 動畫狀態(tài)

  • paused 停止
  • running 運動

9、animation-fill-mode 動畫前后的狀態(tài)

  • none 不改變默認(rèn)行為
  • forwards 當(dāng)動畫完成后呢蔫,保持最后一個屬性值(在最后一個關(guān)鍵幀中定義)
  • backwards 在 animation-delay 所指定的一段時間內(nèi)切心,在動畫顯示之前,應(yīng)用開始屬性值(在第一個關(guān)鍵幀中定義)
  • both 向前和向后填充模式都被應(yīng)用

10片吊、animation:name duration timing-function delay iteration-count direction;同時設(shè)置多個屬性

舉例:(人物走路動畫)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>走路動畫</title>
    <style type="text/css">        
        .box{
            width:120px;
            height:180px;
            border:1px solid #ccc;            
            margin:50px auto 0;
            position:relative;
            overflow:hidden;            
        }

        .box img{
            display:block;
            width:960px;
            height:182px;
            position: absolute;
            left:0;
            top:0;
            animation:walking 1.0s steps(8) infinite;            
        }
        @keyframes walking{
            from{
                left:0px;
            }

            to{
                left:-960px;
            }
        }
    </style>
</head>
<body>
    <div class="box"><img src="images/walking.png"></div>
</body>
</html>

動畫中使用的圖片如下:


walking.png

CSS瀏覽器前綴

為了讓CSS3樣式兼容绽昏,需要將某些樣式加上瀏覽器前綴:

-ms- 兼容IE瀏覽器
-moz- 兼容firefox
-o- 兼容opera
-webkit- 兼容chrome 和 safari

比如:

div
{    
    -ms-transform: rotate(30deg);        
    -webkit-transform: rotate(30deg);    
    -o-transform: rotate(30deg);        
    -moz-transform: rotate(30deg);    
    transform: rotate(30deg);
}

自動添加瀏覽器前綴
目前的狀況是,有些CSS3屬性需要加前綴俏脊,有些不需要加全谤,有些只需要加一部分,這些加前綴的工作可以交給插件來完成联予,比如安裝: autoprefixer

Sublime text 中安裝 autoprefixer 執(zhí)行 preferences/key Bindings-Users 設(shè)置快捷鍵 { "keys": ["ctrl+alt+x"], "command": "autoprefixer" } 通過此工具可以按照最新的前綴使用情況給樣式自動加前綴啼县。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市沸久,隨后出現(xiàn)的幾起案子季眷,更是在濱河造成了極大的恐慌,老刑警劉巖卷胯,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件子刮,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機挺峡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進(jìn)店門葵孤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人橱赠,你說我怎么就攤上這事尤仍。” “怎么了狭姨?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵宰啦,是天一觀的道長。 經(jīng)常有香客問我饼拍,道長赡模,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任师抄,我火速辦了婚禮漓柑,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘叨吮。我一直安慰自己辆布,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布挤安。 她就那樣靜靜地躺著谚殊,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蛤铜。 梳的紋絲不亂的頭發(fā)上嫩絮,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天,我揣著相機與錄音围肥,去河邊找鬼剿干。 笑死,一個胖子當(dāng)著我的面吹牛穆刻,可吹牛的內(nèi)容都是我干的置尔。 我是一名探鬼主播,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼氢伟,長吁一口氣:“原來是場噩夢啊……” “哼榜轿!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起朵锣,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤谬盐,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后诚些,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體飞傀,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了砸烦。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片弃鸦。...
    茶點故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖幢痘,靈堂內(nèi)的尸體忽然破棺而出唬格,到底是詐尸還是另有隱情,我是刑警寧澤雪隧,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布西轩,位于F島的核電站,受9級特大地震影響脑沿,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜马僻,卻給世界環(huán)境...
    茶點故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一庄拇、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧韭邓,春花似錦措近、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至鸭你,卻和暖如春屈张,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背袱巨。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工阁谆, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人愉老。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓场绿,卻偏偏與公主長得像,于是被迫代替她去往敵國和親嫉入。 傳聞我的和親對象是個殘疾皇子焰盗,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,724評論 2 354

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

  • 一、CSS3圓角 設(shè)置某一個角的圓角咒林,比如設(shè)置左上角的圓角:border-top-left-radius:30px...
    瘦不下去了閱讀 297評論 0 0
  • 框架集 框架集和內(nèi)聯(lián)框架的作用類似,都是用于在一個頁面中引入其他的外部的頁面框架集可以同時引入多個頁面,而內(nèi)聯(lián)框架...
    幸而0407閱讀 212評論 0 0
  • 框架集 框架集和內(nèi)聯(lián)框架的作用類似倦逐,都是用于在一個頁面中引入其他的外部的頁面框架集可以同時引入多個頁面,而內(nèi)聯(lián)框架...
    咻咻咻滴趙大妞閱讀 480評論 0 0
  • 選擇qi:是表達(dá)式 標(biāo)簽選擇器 類選擇器 屬性選擇器 繼承屬性: color宫补,font檬姥,text-align,li...
    love2013閱讀 2,314評論 0 11
  • 選擇qi:是表達(dá)式 標(biāo)簽選擇器 類選擇器 屬性選擇器 繼承屬性: color粉怕,font健民,text-align,li...
    wzhiq896閱讀 1,751評論 0 2