CSS基礎(chǔ)知識(shí)3-雪碧圖、背景及透明度設(shè)置

A项鬼、問(wèn)答題

一哑梳、CSS Sprite(雪碧圖|精靈圖)指什么? 有什么作用?

直白點(diǎn)解釋就是一種CSS圖片合成技術(shù)即指集合網(wǎng)頁(yè)中的小圖標(biāo)或背景圖像到一張圖片上绘盟,然后通過(guò)CSS背景定位進(jìn)行選取所需的部位鸠真,這個(gè)集成的圖片就是雪碧圖(或叫精靈圖);其作用是可以1龄毡、減少加載圖片時(shí)對(duì)服務(wù)器請(qǐng)求次數(shù)吠卷;2、減少頁(yè)面的加載時(shí)間沦零;3祭隔、減少鼠標(biāo)劃過(guò)的一些bug;
注:

  • CSS雪碧調(diào)用的圖默認(rèn)情況下不可被打印路操,除非在@media中特別添加 print聲明疾渴;
  • 雪碧圖合成前的圖片和合成后的圖片不宜太大;
二寻拂、img標(biāo)簽和CSS背景使用圖片在使用場(chǎng)景上有何區(qū)別程奠?

img標(biāo)簽適合使用在圖片內(nèi)容可變的或者圖片有實(shí)際內(nèi)容的情況下(img里可設(shè)alt對(duì)圖片進(jìn)行描述);而css背景圖適合使用在圖片內(nèi)容固定不變比如一些小的logo或icon等等(這種情況可以采用雪碧圖的方法)情況下祭钉;
注:如果一張較大的圖片放在img標(biāo)簽中丁屎,則待該圖片加載完后再加載后續(xù)的網(wǎng)頁(yè)內(nèi)容;若放在css背景圖中荤牍,則待網(wǎng)頁(yè)內(nèi)容及樣式全部加載完后再加載該圖片框杜,其不影響瀏覽網(wǎng)頁(yè)全部?jī)?nèi)容(如果此時(shí)圖片無(wú)法加載或加載失敗的時(shí)候,不會(huì)有圖片占用標(biāo)記塑陵, 不會(huì)出現(xiàn)紅色叉)。

三、title 和 alt屬性分別有什么作用师幕?

title的作用是給鏈接a標(biāo)簽、img標(biāo)簽或p標(biāo)簽等注明額外信息用诬滩,同時(shí)它也是abbr(縮寫)及acronym(首字母縮寫霹粥,HTML5不支持該標(biāo)簽可用abbr替代)標(biāo)簽必不可少的屬性。(當(dāng)然如果它被當(dāng)作標(biāo)簽來(lái)看待則表示頁(yè)面的標(biāo)題疼鸟。)當(dāng)這些元素使用title時(shí)后控,鼠標(biāo)放在對(duì)應(yīng)的元素上面,會(huì)出現(xiàn)一個(gè)工具提示文本空镜,如下圖:

title使得img出現(xiàn)工具提示文本.png

上述代碼如下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
<a href="#" title="a鏈接出現(xiàn)的工具提示文本">這是一個(gè)a鏈接</a>
![img標(biāo)簽出現(xiàn)的工具提示文本](http://upload-images.jianshu.io/upload_images/2166980-99cbc7b826de66de.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
<p title="p標(biāo)簽出現(xiàn)的工具提示文本">這是段落</p>
<abbr title="超文本標(biāo)記語(yǔ)言"> HTML</abbr> 語(yǔ)言很有趣
</body>
</html>

而alt是專門給圖片進(jìn)行內(nèi)容描述用的(圖片上是什么東西浩淘,如上面的代碼中的alt="百度logo" ),這樣當(dāng)瀏覽器無(wú)法加載圖片時(shí)或者當(dāng)用戶使用屏幕閱讀器時(shí)吴攒,可以通過(guò)alt的值了解圖片里的內(nèi)容到底是什么张抄。另:圖片使用alt時(shí)也利于網(wǎng)站的SEO,便于搜素引擎爬蟲(chóng)識(shí)別洼怔;

四署惯、background: url(abc.png) 0 0 no-repeat;這句話是什么意思?

這句話的意思是引用abc.png這樣圖片作為背景圖茴厉,這張圖片不偏移泽台,不重復(fù);

五矾缓、background-size有什么作用? 兼容性如何? 常用的值是?

作用是設(shè)置背景圖片的大小怀酷,兼容性如下圖:


background-size兼容性.png

常用的值有:數(shù)字(如果有兩組數(shù)字,則前者表示寬度后者表示高度嗜闻,如果只有一組數(shù)字蜕依,則表示寬度,高度為auto)琉雳、百分?jǐn)?shù)(以父元素的百分比來(lái)設(shè)置---- 如果有兩組數(shù)值样眠,則前者表示寬度后者表示高度,如果只有一組數(shù)值翠肘,則表示寬度檐束,高度為auto)、contain(圖片擴(kuò)展至最大尺寸以使其寬度和高度正好適應(yīng)內(nèi)容區(qū)域即其正好被包含)束倍、cover(把圖片擴(kuò)展至較大以使得圖片完全覆蓋內(nèi)容區(qū)域被丧,這樣會(huì)導(dǎo)致圖片部分區(qū)域未顯示出來(lái))
具體可看下面的例子代碼:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
div.try-number{
    background: url(http://tva1.sinaimg.cn/crop.0.0.512.512.180/672f1d65jw8exjm9yc9qkj20e80e83zm.jpg) 0 0 no-repeat;
    height: 200px;
    width: 200px;
    color: #000;
    background-color: #f00;
    background-size: 100px 100px;

}
div.try-per{
    background: url(http://tva1.sinaimg.cn/crop.0.0.512.512.180/672f1d65jw8exjm9yc9qkj20e80e83zm.jpg) 0 0 no-repeat;
    height: 200px;
    width: 200px;
    color: #000;
    background-color: #0f0;
    background-size: 50% 100%;

}
div.try-contain{
    background: url(http://tva1.sinaimg.cn/crop.0.0.512.512.180/672f1d65jw8exjm9yc9qkj20e80e83zm.jpg) 0 0 no-repeat;
    height: 200px;
    width: 200px;
    color: #000;
    background-color: #0f0;
    background-size: contain;

}
div.try-cover{
    background: url(http://tva1.sinaimg.cn/crop.0.0.512.512.180/672f1d65jw8exjm9yc9qkj20e80e83zm.jpg) 0 0 no-repeat;
    height: 200px;
    width: 200px;
    color: #000;
    background-color: #0f0;
    background-size: cover;

}

    </style>
</head>
<body>
<div class="try-number">這是數(shù)字表示</div>
<div class="try-per">這是百分比表示的方法</div>
<div class="try-contain">這是contain的表示方法</div>
<div class="try-cover">這是cover的表示方法</div>
</body>
</html>

運(yùn)行結(jié)果可見(jiàn):

background-size的用法.png

http://jsbin.com/gixuqe/edit?html,output

六盟戏、如何讓一個(gè)div水平居中?如何讓圖片水平居中甥桂?

可以使用margin:數(shù)字 auto 讓div水平居中柿究;如下面代碼中的margin:10px auto;使得div水平居中了;
圖片水平居中可采用text-align:center; 如下面的代碼中的```text-align:center``使得圖片及div中的文本居中了黄选。

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>定寬塊狀元素水平居中</title>
<style>
div{
    border:1px solid red;
    margin:10px auto;
    width: 500px;
    text-align: center;   
}

</style>
</head>

<body>
<div class="txtCenter">我是文本蝇摸,我想要在父容器中水平居中顯示。</div>
<div class="imgCenter">![](http://upload-images.jianshu.io/upload_images/2166980-808545378db9088f.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)</div>
</body>
</html>

運(yùn)行結(jié)果見(jiàn):
http://jsbin.com/hozugid/edit?html,output

七办陷、如何設(shè)置元素透明? 兼容性貌夕?

可使用opacity屬性;
兼容性如下圖所示:

opacity兼容性.png
八懂诗、opacity 和 rgba都能設(shè)置透明蜂嗽,有什么區(qū)別?

區(qū)別是opacity不僅能夠作用所對(duì)應(yīng)的元素還作用在該元素內(nèi)所有相關(guān)的透明度殃恒,且opacity還會(huì)繼承父元素的opacity的屬性;而rgba則不存在繼承的情況辱揭,且其只針對(duì)元素的顏色或背景色有效离唐;

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
    .try-opacity{
        height: 300px;
        width: 300px;
        opacity: 0.5;
        filter:alpha(opacity=50);
        background-color: red;
        border: 4px solid blue;
        margin: 40px;
    }
    .try-rgba{
        height: 300px;
        width: 300px;
        background-color:rgba(255,0,0,0.5);     
        border: 4px solid blue;
        margin: 40px;
    }


    </style>
</head>
<body>
<div class="try-opacity">這是opacity的div</div>
<div class="try-rgba">這是rgba的div</div>
</body>
</html>
opacity與rgba設(shè)置透明度結(jié)果對(duì)比.png

B、代碼題

1问窃、使用CSS Sprite 把如下6張圖標(biāo)圖片合并成一張圖片亥鬓,做出如下效果, 當(dāng) hover 時(shí)背景變色





代碼詳見(jiàn)此處

2、使用字體圖標(biāo)(如 iconfont, 查找->加入購(gòu)物車->下載 demo 域庇、 fortawesome 或者fontello)實(shí)現(xiàn)上例效果

代碼詳見(jiàn)此處--在線版此處--本地版

3嵌戈、使用css border實(shí)現(xiàn)如下三角形


代碼詳見(jiàn)此處
**本文版權(quán)歸本人即簡(jiǎn)書筆名:該賬戶已被查封 所有,如需轉(zhuǎn)載請(qǐng)注明出處听皿。謝謝熟呛! *

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市尉姨,隨后出現(xiàn)的幾起案子庵朝,更是在濱河造成了極大的恐慌,老刑警劉巖又厉,帶你破解...
    沈念sama閱讀 211,348評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件九府,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡覆致,警方通過(guò)查閱死者的電腦和手機(jī)侄旬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,122評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)煌妈,“玉大人儡羔,你說(shuō)我怎么就攤上這事宣羊。” “怎么了笔链?”我有些...
    開(kāi)封第一講書人閱讀 156,936評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵段只,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我鉴扫,道長(zhǎng)赞枕,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 56,427評(píng)論 1 283
  • 正文 為了忘掉前任坪创,我火速辦了婚禮炕婶,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘莱预。我一直安慰自己柠掂,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,467評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布依沮。 她就那樣靜靜地躺著涯贞,像睡著了一般。 火紅的嫁衣襯著肌膚如雪危喉。 梳的紋絲不亂的頭發(fā)上宋渔,一...
    開(kāi)封第一講書人閱讀 49,785評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音辜限,去河邊找鬼皇拣。 笑死,一個(gè)胖子當(dāng)著我的面吹牛薄嫡,可吹牛的內(nèi)容都是我干的氧急。 我是一名探鬼主播,決...
    沈念sama閱讀 38,931評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼毫深,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼吩坝!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起费什,我...
    開(kāi)封第一講書人閱讀 37,696評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤钾恢,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后鸳址,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體瘩蚪,經(jīng)...
    沈念sama閱讀 44,141評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,483評(píng)論 2 327
  • 正文 我和宋清朗相戀三年稿黍,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了疹瘦。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,625評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡巡球,死狀恐怖言沐,靈堂內(nèi)的尸體忽然破棺而出邓嘹,到底是詐尸還是另有隱情,我是刑警寧澤险胰,帶...
    沈念sama閱讀 34,291評(píng)論 4 329
  • 正文 年R本政府宣布汹押,位于F島的核電站,受9級(jí)特大地震影響起便,放射性物質(zhì)發(fā)生泄漏棚贾。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,892評(píng)論 3 312
  • 文/蒙蒙 一榆综、第九天 我趴在偏房一處隱蔽的房頂上張望妙痹。 院中可真熱鬧,春花似錦鼻疮、人聲如沸怯伊。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)耿芹。三九已至,卻和暖如春挪哄,著一層夾襖步出監(jiān)牢的瞬間猩系,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工中燥, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人塘偎。 一個(gè)月前我還...
    沈念sama閱讀 46,324評(píng)論 2 360
  • 正文 我出身青樓疗涉,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親吟秩。 傳聞我的和親對(duì)象是個(gè)殘疾皇子咱扣,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,492評(píng)論 2 348

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