任務(wù)9-2 CSS常見技巧

1.CSS Sprite(雪碧圖|精靈圖)指什么? 有什么作用

CSS雪碧圖就是把你要使用的一些小圖標(biāo)或背景圖片合并成一張圖片,然后使用CSS 的background-image祭陷、background-repeat和background-position等屬性渲染,精確定位出你想要使用的圖片部分失仁。這樣做可以減少加載網(wǎng)頁(yè)圖片時(shí)對(duì)服務(wù)器的請(qǐng)求次數(shù),提高頁(yè)面的加載速度们何,減少鼠標(biāo)滑過的一些bug控轿。
雪碧圖在線合成網(wǎng)址工具-圖片合并茬射,
工具-圖片在線壓縮
demo:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Sprite</title>
        <style>
             .icon{
                width: 40px;
                height: 40px;
                 background: url(toolbars.png) 0 0 no-repeat;
             }
             .s1 {
                background-position: 0px 0px ;
             }
             .s2{
                background-position: 0px -40px
             }
        </style>
    </head>
    <body>
        <div class="icon s1"></div>
        <div class="icon s2"></div>
    </body>
</html>

Sprite

2.img標(biāo)簽和CSS背景使用圖片在使用場(chǎng)景上有何區(qū)別

  • img屬于HTML標(biāo)簽鹦蠕,適用于圖片和內(nèi)容相關(guān)的在抛,會(huì)發(fā)生變化的場(chǎng)景,例如用戶圖像刚梭,驗(yàn)證碼等肠阱。
  • background-img屬于CSS屬性,適用于頁(yè)面上內(nèi)容固定不變的場(chǎng)景朴读,例如圖標(biāo)衅金。
    以京東主頁(yè)樣式舉例:
京東主頁(yè)

3.title和 alt屬性分別有什么作用

  • title屬性是提供非本質(zhì)的額外信息氮唯,比如在圖像可見時(shí)對(duì)圖像的描述(鼠標(biāo)放在圖片時(shí)即會(huì)顯示)。它可以用在除了base惩琉,basefont琳水,head,html诚啃,meta始赎,param,script和title之外的所有標(biāo)簽魔招。
  • alt屬性是為了給那些不能看到你文檔中圖像的瀏覽者提供文字說明五辽,它只能用在img杆逗、area和input元素中,是用來替代圖像而不是提供額外說明文字蠕蚜。
    demo:
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Sprite</title>
    </head>
    <body>
        ![我是要成為海賊王的男人](http://upload-images.jianshu.io/upload_images/2419272-349cdf209a3bc8d5.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
        ![這是路飛](http://imgtn.bdimg.com/it/u=3987640784,323146945&fm=206&gp=0.jpg)
    </body>
</html>

title和alt區(qū)別

4.background: url(abc.png) 0 0 no-repeat;這句話是什么意思靶累?

在解釋這句話之前先了解一下background的全部屬性:

描述 CSS
background-color 規(guī)定要使用的背景顏色挣柬。 1
background-position 規(guī)定背景圖像的位置争舞。 1
background-size 規(guī)定背景圖片的尺寸竞川。 3
background-repeat 規(guī)定如何重復(fù)背景圖像。 1
background-origin 規(guī)定背景圖片的定位區(qū)域床牧。 3
background-clip 規(guī)定背景的繪制區(qū)域戈咳。 3
background-attachment 規(guī)定背景圖像是否固定或者隨著頁(yè)面的其余部分滾動(dòng)壕吹。 1
background-image 規(guī)定要使用的背景圖像耳贬。 1

所以,background: url(abc.png) 0 0 no-repeat是一個(gè)background屬性的簡(jiǎn)寫模式顷蟆,它的意思使用一個(gè)abc.png的圖片作為背景圖片帐偎,圖片位置坐標(biāo)為0 0,即不發(fā)生偏移豁生, 圖片不重復(fù)漫贞。
demo:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Sprite</title>
        <style type="text/css">
            .box {
                width: 400px;
                height: 250px;
                border: 3px solid gold;
                background: url(http://abc.png) 0 0 no-repeat;
            }
        </style>
    </head>
    <body>
        <div class="box"></div>
    </body>
</html>

效果

這里還要說一下關(guān)于背景圖片定位(background-position)取值的問題:

  1. (0,0)坐標(biāo)原點(diǎn)位置擂红,即外層塊元素的左上角
  2. background-position位置設(shè)定是指圖片與坐標(biāo)原點(diǎn)的偏移量
  3. 原點(diǎn)是不會(huì)動(dòng)的昵骤,移動(dòng)的是圖片,X坐標(biāo)值為正則圖片左上角向右平移成榜,為負(fù)則圖片左上角向左平移赎婚,Y坐標(biāo)值為正則圖片左上角向下平移樱溉,為負(fù)則圖片左上角向上平移

4.坐標(biāo)除了用數(shù)字表示福贞,還可以用百分比表示,

  • X軸:(容器的寬度-圖片的寬度)乘以(X方向的百分?jǐn)?shù))
  • Y軸:(容器的高度-圖片的高度)乘以(Y方向的百分?jǐn)?shù))

另外還可以使用關(guān)鍵字top完丽、left逻族、right你稚、bottom、center來表示圖片位置搁痛。

對(duì)照下圖可以知道各個(gè)值定位的位置鸡典。


5.background-size有什么作用? 兼容性如何? 常用的值是?

background-size 屬性用來規(guī)定背景圖像的尺寸彻况。
兼容性:


兼容性

常用的值:

描述
length 設(shè)置背景圖像的高度和寬度纽甘。第一個(gè)值設(shè)置寬度,第二個(gè)值設(shè)置高度决瞳。如果只設(shè)置一個(gè)值皮胡,則第二個(gè)值會(huì)被設(shè)置為“atuo”
percentage(%) 以父元素的百分比來設(shè)置背景圖像的寬度和高度赏迟。第一個(gè)值設(shè)置寬度锌杀,第二個(gè)值設(shè)置高度。如果只設(shè)置一個(gè)值谤职,則第二個(gè)會(huì)被設(shè)置為“auto”允蜈。
cover 把背景圖像擴(kuò)展至足夠大蒿柳,以使背景圖像完全覆蓋背景區(qū)域垒探。背景圖像的某些部分也許無法顯示在背景定位區(qū)域中。
contain 把圖像擴(kuò)展至最大尺寸蛤克,以使其寬度和高度完全適應(yīng)內(nèi)容區(qū)域构挤。

demo:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Sprite</title>
        <style type="text/css">
            div {
                width: 400px;
                height: 400px;
                margin: 20px;
                border: 3px solid gold;
                background: url(http://img5.imgtn.bdimg.com/it/u=3987640784,323146945&fm=206&gp=0.jpg) 0 0 no-repeat;
            }
            .box1{
                background-size: 300px 200px;
            }
            .box2{
                background-size: 50% 50%;
            }
            .box3{
                background-size: cover;
            }
            .box4{
                background-size: contain;
            }
        </style>
    </head>
    <body>
        <div class="box1"></div>
        <div class="box2"></div>
        <div class="box3"></div>
        <div class="box4"></div>
    </body>
</html>

auto

auto:此值為默認(rèn)值筋现,保持背景圖片的原始高度和寬度

length

length:此值設(shè)置具體的值矾飞,可以改變背景圖片的大小

percentage

percentage:此值為百分值洒沦,可以是0%?100%之間任何值申眼,所設(shè)置百分值將使用背景圖片大小根據(jù)所在父元素的寬度的百分比來計(jì)算

cover

cover:此值是將圖片放大豺型,以適合鋪滿整個(gè)容器买乃,當(dāng)圖片小于容器時(shí),又無法使用background-repeat來實(shí)現(xiàn)時(shí)肴焊,我們就可以采用cover;將背景圖片放大到適合容器的大小娶眷,但這種方法會(huì)使用背景圖片失真

contain

contain:此值是將背景圖片縮小或放大届宠,能夠使容器完全的顯示圖片乘粒,這個(gè)主要運(yùn)用在灯萍,當(dāng)背景圖片大于元素容器時(shí),而又需要將背景圖片全部顯示出來齿风,此時(shí)我們就可以使用contain將圖片縮小到適合容器大小為止救斑,這種方法同樣會(huì)使用圖片失真

6.如何讓一個(gè)div水平居中?如何讓圖片水平居中

div是塊級(jí)元素巾陕,只要將塊級(jí)元素的margin-left和margin-right的值為atuo即可鄙煤。

demo:

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title>demo</title>
        <style type="text/css">
                .box1 {
                width: 400px;
                height: 400px;
                border: 3px solid gold;
                margin-left: auto;
                margin-right: auto;
        </style>
    </head>

    <body>
        <div class="box1">
            ![](http://upload-images.jianshu.io/upload_images/2419272-349cdf209a3bc8d5.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
        </div>
    </body>

</html>
div水平居中

圖片屬于內(nèi)聯(lián)元素梯刚,想讓內(nèi)聯(lián)元素水平居中在它的父元素的樣式里設(shè)置text:align=center即可薪寓。
demo:

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title>demo</title>
        <style type="text/css">
                .box1 {
                width: 400px;
                height: 400px;
                border: 3px solid gold;
                margin-left: auto;
                margin-right: auto;
                text-align: center;
        </style>
    </head>

    <body>
        <div class="box1">
            ![](http://upload-images.jianshu.io/upload_images/2419272-349cdf209a3bc8d5.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
        </div>
    </body>

</html>
圖片水平居中

7.如何設(shè)置元素透明? 兼容性锥腻?

可以使用opacity屬性來設(shè)置元素的透明度母谎,value從 0.0 (完全透明)到 1.0(完全不透明)笛坦。
demo:

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title>demo</title>
        <style type="text/css">
                .box1 {
                width: 400px;
                height: 400px;
                border: 3px solid gold;
                margin-left: auto;
                margin-right: auto;
                text-align: center;
                opacity: 0.3;
        </style>
    </head>

    <body>
        <div class="box1">
            ![](http://upload-images.jianshu.io/upload_images/2419272-349cdf209a3bc8d5.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
        </div>
    </body>

</html>
元素透明

從圖例中看出咬扇,只要對(duì)div設(shè)置了opacity屬性懈贺,該div里面所有的內(nèi)容都會(huì)受到影響。

兼容性:

opacity兼容性

8.opacity和rgba都能設(shè)置透明,有什么區(qū)別胎源?

  • opacity會(huì)對(duì)元素內(nèi)所有的內(nèi)容設(shè)置透明度涕蚤,而rgba只能對(duì)元素的顏色或者背景色設(shè)置透明度的诵。
  • opacity的屬性是能繼承給后代的西疤,而rgba不能休溶。
    demo:
<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title>demo</title>
        <style type="text/css">
                div{
                width: 100px;
                height: 100px;
                border: 3px solid gold;
                margin-left: auto;
                margin-right: auto;
                text-align: center;
                   }
                   .box1{
                   background-color: rgb(0,255,0);
                    opacity: 0.3;
                   }
                   .box2{
                   background-color: rgba(0,255,0,0.3);
                   }
                   span{
                    color:red;
                   }
        </style>
    </head>

    <body>
        <div class="box1">
            <span>
                饑人谷前端學(xué)習(xí)
            </span>
        </div>
        <div class="box2">
            <span>
                饑人谷前端學(xué)習(xí)
            </span>
        </div>
    </body>

</html>
透明度對(duì)比

本文版權(quán)歸本人和饑人谷所有芭碍,轉(zhuǎn)載請(qǐng)注明來源窖壕。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末瞻讽,一起剝皮案震驚了整個(gè)濱河市熏挎,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌快集,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件猴蹂,死亡現(xiàn)場(chǎng)離奇詭異磅轻,居然都是意外死亡逐虚,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來买雾,“玉大人,你說我怎么就攤上這事注盈⌒鹱” “怎么了震叮?”我有些...
    開封第一講書人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵冤荆,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我乌妒,道長(zhǎng)外邓,這世上最難降的妖魔是什么损话? 我笑而不...
    開封第一講書人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任丧枪,我火速辦了婚禮,結(jié)果婚禮上忘闻,老公的妹妹穿的比我還像新娘齐佳。我一直安慰自己债沮,他們只是感情好疫衩,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著提针,像睡著了一般辐脖。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上艇抠,一...
    開封第一講書人閱讀 49,784評(píng)論 1 290
  • 那天家淤,我揣著相機(jī)與錄音瑟由,去河邊找鬼歹苦。 笑死殴瘦,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的丰歌。 我是一名探鬼主播屉凯,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼悠砚,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼哩簿!你這毒婦竟也來了酝静?” 一聲冷哼從身側(cè)響起别智,我...
    開封第一講書人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎让歼,沒想到半個(gè)月后丽啡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體补箍,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡坑雅,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年裹粤,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了遥诉。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡挫酿,死狀恐怖早龟,靈堂內(nèi)的尸體忽然破棺而出猫缭,到底是詐尸還是另有隱情猜丹,我是刑警寧澤,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站脉顿,受9級(jí)特大地震影響艾疟,放射性物質(zhì)發(fā)生泄漏敢辩。R本人自食惡果不足惜戚长,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一同廉、第九天 我趴在偏房一處隱蔽的房頂上張望嘀略。 院中可真熱鬧帜羊,春花似錦、人聲如沸帐姻。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)饥瓷。三九已至,卻和暖如春痹籍,著一層夾襖步出監(jiān)牢的瞬間呢铆,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來泰國(guó)打工蹲缠, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留棺克,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓线定,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親斤讥。 傳聞我的和親對(duì)象是個(gè)殘疾皇子纱皆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348

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

  • 一、CSS Sprite(雪碧圖|精靈圖)指什么? 有什么作用 1芭商、css sprite是一種圖片處理方法派草,就是將...
    鴻鵠飛天閱讀 392評(píng)論 0 0
  • 1 . CSS Sprite(雪碧圖|精靈圖)指什么, 及作用 就是把頁(yè)面上需要用到的多個(gè)小圖標(biāo)全都合并在一張大圖...
    osborne閱讀 175評(píng)論 0 0
  • 1. CSS Sprite(雪碧圖|精靈圖)指什么? 有什么作用? CSS Sprite是一種網(wǎng)頁(yè)圖片的處理技術(shù)铛楣,...
    mint9602閱讀 220評(píng)論 0 0
  • 1.CSS Sprite(雪碧圖|精靈圖)指什么? 有什么作用近迁? 把背景圖合并成一張大圖,通過background...
    饑人谷_徐小坤閱讀 283評(píng)論 0 0
  • 感恩今天在收拾房間的時(shí)候蛉艾,偶然發(fā)現(xiàn)女兒在花盆上寫下的一行字:“愛與感恩钳踊,期待你早日開花,你不開也沒關(guān)系”勿侯。被女兒善...
    武丹yoyo閱讀 208評(píng)論 0 1