CSS常見技巧

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

CSS Sprite(雪碧圖|精靈圖)指該方法是將小圖標(biāo)和背景圖像合并到一張圖片上,從而減少你的網(wǎng)站的HTTP請(qǐng)求數(shù)量,然后利用css的背景定位來顯示需要顯示的圖片部分。
作用:

  • 1.減少加載網(wǎng)頁圖片時(shí)對(duì)服務(wù)器的請(qǐng)求次數(shù)。
  • 2.提高頁面的加載速度。
  • 3.減少鼠標(biāo)滑過的一些bug。

參考css雪碧

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

如果一張圖片是網(wǎng)頁內(nèi)容的一部分,就該用img標(biāo)簽,否則就建議用 CSS 背景圖。
主要區(qū)別在于img標(biāo)簽一般用于需要單獨(dú)點(diǎn)擊生效的圖片,這些圖片一般是從后臺(tái)傳入的,可以動(dòng)態(tài)交互。
css背景一般用于靜態(tài)不變的圖片??梢允琼撁鍸OGO等。
舉例:



在京東首頁上,經(jīng)常變化的圖片用到img。和鏈接文字連在一起的,用背景圖片。

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

title屬性是為標(biāo)簽提供額外的信息說明,例如<a href="xx" title="鏈接">這是鏈接</a>,把鼠標(biāo)放在鏈接上時(shí),會(huì)顯示title的內(nèi)容,以達(dá)到補(bǔ)充說明或者提示的效果。
而alt屬性是起替代作用的。例如圖片<img src="abc.png" alt="圖片">,當(dāng)圖片來源出錯(cuò)無法正常顯示時(shí),顯示alt屬性的值。alt是替代圖像而不是提供說明。alt屬性還可以用于搜索引擎優(yōu)化。因?yàn)樗阉匾媸菬o法直接讀取圖像的信息的,alt可以為其提供文字信息所以對(duì)搜索引擎比較友好。

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

背景圖片是和html文檔同一個(gè)文件夾的abc.png,這個(gè)圖片在這個(gè)元素的左上角,而且是不被重復(fù)的??梢耘e個(gè)例子:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>background</title>
    <style>
        div {
            width:500px;
            height:500px;
            border: 1px solid red;
            background: url(abc.png) 0 0  no-repeat;
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

效果:


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

background-size 屬性規(guī)定背景圖像的尺寸。



兼容性由圖知,IE9+、Firefox 4+、Opera、Chrome 以及 Safari 5+ 支持 background-size 屬性。
常用的值:
background-size: length/percentage/cover/contain;

描述
length 設(shè)置背景圖像的高度和寬度。第一個(gè)值設(shè)置寬度,第二個(gè)值設(shè)置高度。如果只設(shè)置一個(gè)值,則第二個(gè)值會(huì)被設(shè)置為auto。
percentage 以父元素的百分比來設(shè)置背景圖像的寬度和高度。第一個(gè)值設(shè)置寬度,第二個(gè)值設(shè)置高度。如果只設(shè)置一個(gè)值,則第二個(gè)值會(huì)被設(shè)置為 auto。
cover 把背景圖像擴(kuò)展至足夠大,以使背景圖像完全覆蓋背景區(qū)域。背景圖像的某些部分也許無法顯示在背景定位區(qū)域中。
contain 把圖像圖像擴(kuò)展至最大尺寸,以使其寬度和高度完全適應(yīng)內(nèi)容區(qū)域。

舉例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>background-size</title>
    <style>
        div {
            width: 250px;
            height: 350px;
            background: url(abc.png) no-repeat;
            margin-top: 20px;
            border: 1px solid red;
            display: inline-block;
        }
        img {
            display: block;
        }
        .item1 {
            background-size: 400px 300px;
        }
        .item2 {
            background-size: 100% 100%;
        }
        .item3 {
            background-size: cover;
        }
        .item4 {
            background-size: contain;
        }
    </style>
</head>
<body>
    <img src="abc.png" alt="圖片">
    <div class="item1"></div>
    <div class="item2"></div>
    <div class="item3"></div>
    <div class="item4"></div>
</body>
</html>

效果:



最上面的是原圖片,原圖片大小寬400px,高300px。

.item1 {
    background-size: 400px 300px;
        }

設(shè)置背景的寬高為px時(shí),圖片大小變化,但是因?yàn)閐iv的寬高有限制,所以只顯示出在div范圍內(nèi)的圖像。

  .item2 {
            background-size: 100% 100%;
        }

設(shè)置寬高為100%時(shí),正好充滿整個(gè)div空間。

.item3 {
            background-size: cover;
        }

設(shè)置為cover時(shí),圖像被放大,使高度完全覆蓋空間,但是圖片寬度此時(shí)大于div的寬度,不能完全顯示。

.item4 {
            background-size: contain;
        }

設(shè)置為contain時(shí),圖片完全顯示在div中,但因圖片原始寬度400px比div的寬度250px要大,為使圖片完全顯示,圖片進(jìn)行了縮放,div中有空白。
cover、contain設(shè)置背景圖片的size是使圖片按原始比例縮放的,如果把上述div的寬度設(shè)置為200px,高度設(shè)置為150px,則設(shè)置cover,contain屬性時(shí),背景圖片如下圖所示:



顯示是一樣的。

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

讓一個(gè)div水平居中,可以使用margin: xx auto;,先設(shè)置div的寬度,再設(shè)置div的左右外邊距是auto。
舉例:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>JS Bin</title>
  <style>
    div {
      width:300px;
      height: 200px;
      border: 1px solid red;
      margin: 0 auto;
    }
  </style>
</head>
<body>
  <div>
    饑人谷
  </div>
</body>
</html>

效果:


讓圖片水平居中,對(duì)它的父元素設(shè)置text-align:center;
舉例:

  <!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>JS Bin</title>
  <style>
    div {
      width:500px;
      height: 500px;
      border: 1px solid red;
      margin: 0 auto;
      text-align: center;
    }
  </style>
</head>
<body>
  <div>
    <img src="abc.png" alt="圖片">
  </div>
</body>
</html>

效果:


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

opacity屬性用來設(shè)置元素的不透明度。取值0-1。0代表完全透明,1代表完全不透明。



兼容性:所有瀏覽器都支持 opacity 屬性。但I(xiàn)E8 以及更早的版本支持替代的 filter 屬性。例如:filter:Alpha(opacity=50)。

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

主要區(qū)別是opacity設(shè)置透明,對(duì)其子元素也適應(yīng)。rgba設(shè)置透明只對(duì)其本身起作用。
舉例:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>JS Bin</title>
  <style>
    .opacity {
      width: 100px;
      height: 100px;
      background: #0f0;
      opacity: 0.3;
      color: #000;
      margin-bottom: 10px;
    }
    .alpha {
      width: 100px;
      height: 100px;
      background:rgba(0,255,0,0.3);
      color: #000;
    }
  </style>
</head>
<body>
  <div class="opacity">
    text
  </div>
  <div class="alpha"> 
    text
  </div>
</body>
</html>

效果:



從圖中可以看出設(shè)置opacity屬性的div內(nèi)部文本的透明度也改變了。而rgba則沒有改變文本的透明度。

本文版權(quán)歸作者和饑人谷所有,轉(zhuǎn)載請(qǐng)注明出處

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,882評(píng)論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,208評(píng)論 3 414
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 175,746評(píng)論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,666評(píng)論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,477評(píng)論 6 407
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 54,960評(píng)論 1 321
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,047評(píng)論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,200評(píng)論 0 288
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,726評(píng)論 1 333
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,617評(píng)論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,807評(píng)論 1 369
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,327評(píng)論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,049評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,425評(píng)論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,674評(píng)論 1 281
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,432評(píng)論 3 390
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,769評(píng)論 2 372

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

  • 一、CSS Sprite(雪碧圖|精靈圖)指什么? 有什么作用 1、css sprite是一種圖片處理方法,就是將...
    鴻鵠飛天閱讀 417評(píng)論 0 0
  • 一、CSS Sprite(雪碧圖|精靈圖)指什么? 有什么作用? CSS Sprite把多個(gè)背景圖片合成為一張,通...
    dengpan閱讀 332評(píng)論 0 0
  • 課程目標(biāo) 熟悉常見的樣式寫法,如背景圖片、居中、透明等 學(xué)習(xí)建議 問答題一定要?jiǎng)邮謱?demo,否則學(xué)習(xí)效果只能達(dá)...
    饑人谷_江君閱讀 834評(píng)論 0 1
  • 啊啊啊啊,要開始看論文了,感覺時(shí)間都不夠用,好憂傷。 一.CSS Sprite(雪碧圖|精靈圖)指什么? 有什么作...
    婷樓沐熙閱讀 574評(píng)論 7 2
  • 1.CSS Sprite(雪碧圖|精靈圖)指什么? 有什么作用 CSS Sprite 是一種 CSS 圖像合并技術(shù)...
    饑人谷_沈夢(mèng)圓閱讀 282評(píng)論 0 0