Sprite ya taswira ya CSS

图像精灵

图像精灵是单个图像中包含的图像集合。

包含许多图像的网页可能需要很长时间才能加载,同时会生成多个服务器请求。

使用图像精灵将减少服务器请求的数量并节约带宽。

图像精灵 - 简单的例子

我们使用以下单幅图像("navsprites.gif")而不是使用三幅单独的图像:

taswira ya navigation

Kutumia CSS tunaweza kuonyesha sehemu ya picha ambayo tunatenda.

Kwenye matokeo ya hapa, CSS inafafanua sehemu ya picha za "navsprites.gif" ambayo tunatenda kutumia:

mikosi

#home {
  mawazo: 46px;
  ingawa: 44px;
  mawasiliko: url(navsprites.gif) 0 0;
}

Tafadhali, tuafanye kwa kufikia

Muonekano wa Mivivu:

  • <img id="home" src="trans.gif"> - Kufafanua picha inayotumika kwa kidogo na inayobadilika, kwa sababu kinaingia ya src inaweza kushika. Picha inayotiririka ni picha za mawasiliko ambazo tunazotumia katika CSS.
  • mawazo: 46px; ingawa: 44px; - Kufafanua sehemu ya picha ambayo tunatenda kutumia
  • mawasiliko: url(navsprites.gif) 0 0; - Kufafanua picha za mawasiliko na eneo (left 0px, top 0px)

Picha za msingi - Kukuza orodha ya muonekano

Tunatenda kutumia picha za msingi ("navsprites.gif") kukuza orodha ya muonekano.

Tunatenda kutumia orodha ya HTML, kwa sababu inaweza kuwa viungo, na inaonesha picha za mbali:

mikosi

#navlist {
  mawasiliko: kiwemoja;
}
#navlist li {
  kuchukua: 0;
  kiasi: 0;
  orodha ya mitindo: kila mitindo:
  mawasiliko: kina mawasiliko;
  kimoja: 0;
}
#navlist li, #navlist a {
  ingawa: 44px;
  muonekano: block;
}
#home {
  kushinda: 0px;
  mawazo: 46px;
  mawasiliko: url('img_navsprites.gif') 0 0;
}
#prev {
  kushinda: 63px;
  mawazo: 43px;
  mawasiliko: url('img_navsprites.gif') -47px 0;
}
#next {
  kushinda: 129px;
  mawazo: 43px;
  mawasiliko: url('img_navsprites.gif') -91px 0;
}

Tafadhali, tuafanye kwa kufikia

Muonekano wa Mivivu:

  • #navlist {mawasiliko: kiwemoja;} - Mawasiliko wa kina mawasiliko, kwa kumfanya kwenda kina mawasiliko kwa uwezo
  • #navlist li {margin:0;padding:0;list-style:none;position:absolute;top:0;} - Kuwepo na kufikiria zilizotumiwa 0, kufungua list-style, na kila kina kina kimekuwa kusaidia kushoto
  • #navlist li, #navlist a {height:44px;display:block;} - Uzima wa picha zote ni 44px

Sikia, tunastartea kusaidia kufanana na kufikiria kwa kila eneo kimoja:

  • #home {left:0px;width:46px;} - Kuwa kushoto hadi kushoto, uzima wa picha ni 46px
  • #home {background:url(navsprites.gif) 0 0;} - Kuzingatia picha ya mabara na eneo lake (kushoto 0px, kushoto 0px)
  • #prev {left:63px;width:43px;} - Kuwa kushoto 63px (kina #home na uzima 46px + maafu ya kina nyingine)
  • #prev {background:url('navsprites.gif') -47px 0;} - Kuzingatia picha ya mabara hadi kushoto 47px (kina #home na uzima 46px + 1px wa kusafisha)
  • #next {left:129px;width:43px;} - Kuwa kushoto 129px (kina #prev kuanzia 63px + uzima wa #prev ni 43px + maafu ya kina nyingine)
  • #next {background:url('navsprites.gif') -91px 0;} - Kuzingatia picha ya mabara hadi kushoto 91px (kina #home na uzima 46px + 1px wa kusafisha + #prev na uzima 43px + 1px wa kusafisha)

Picha za kusaidia - uharibifu wa hivi karibuni

Sikia, tunatengeneza uharibifu wa hivi karibuni kwa orodha ya kihesabu.

Mbinu::hover chaguo cha chaguo cha kuchaguliwa kinaweza kufanyika kwa elementi zote, bila kusababisha kama vitengo vya viungo.

Picha yetu ya kujumuisha ("navsprites_hover.gif") ina picha za kihesabu tatu na picha tatu zilizotumiwa kwa uharibifu wa hivi karibuni:

taswira ya navigation

Kwa sababu hii ni picha, haitakuwa faili sita tano, kama mtu anasaidia kusaidia picha hivi:Hakuna wakati wa kushuka wa kuimbwa.

Tunapataa kifaa tatu kwa kufungua uharibifu wa hivi karibuni:

mikosi

#home a:hover {
  background: url('navsprites_hover.gif') 0 -45px;
}
#prev a:hover {
  background: url('navsprites_hover.gif') -47px -45px;
}
#next a:hover {
  background: url('navsprites_hover.gif') -91px -45px;
}

Tafadhali, tuafanye kwa kufikia

Muonekano wa Mivivu:

#home a:hover {background: transparent url('img_navsprites_hover.gif') 0 -45px;} - Tunazifungua upeo wa mabaki ya mabaki ya tatu kwa mabaki ya mabaki ya tatu, kwa sababu ya 45 mita kuingia