Þrátt fyrir væntingar fólks um breytingu og hreyfingu á skjánum, hafa CSS og HTML nokkrar stýringar sem leyfa þér að hanna gagnvirkni og þær sem eru til eru tvöfaldur.
Tengill er annaðhvort einn litur eða annar. Textasvæði er annað hvort ein stærð eða annað. Mynd er annað hvort gagnsæ eða ógagnsæ. Engar innbyrðis frá einu ríki til annars. Engar umbreytingar .
Þetta hefur leitt til þess að flestar vefsíður líða skyndilega, með þætti sem breytast og breytast ungracefully.
Já, við getum notað DHTML og nýttu jQuery bókasafnið til umbreytinga, en þetta krefst mikils kóða fyrir eitthvað sem ætti að vera mjög einfalt.
Það sem við þurfum er fljótleg og auðveld leið til að bæta við einfaldar umbreytingar á síðunni og í þessari grein er að finna gagnlegar upplýsingar um CSS umbreytingar og hvernig á að nota þær.
Nokkrum mánuðum aftur stóð ég fótinn minn í munninn með sem bendir til að hönnuðir ættu að byrja að nota nýja CSS 3 tækni sem leyfa þeim að gera nokkrar af helstu stíl sem þeir hafa verið að biðjast fyrir. Eina málið: enginn þeirra vann í Internet Explorer. Nei, ekki einu sinni IE8.
Sumir lesendur töldu að við mælum með að um 75% af áhorfendum myndu ekki geta séð var ósannindi.
Til þessara lesenda segi ég: "Haltu húfurnar þínar ' því ég ætla að kynna þér nýja CSS eign sem leyfir þér að bæta við umbreytingum í hvaða frumefni sem er með aðeins nokkrar línur af kóða.
CSS umbreytingar eru kynntar núna í CSS Level 3 en hafa þegar verið bætt við sem viðbót við Webkit. Núna þýðir það að þeir vinna aðeins í vafra sem byggjast á Webkit, þar á meðal Apple Safari og Google Chrome.
Yfirfærslur hafa verið hluti af Webkit um stund og eru grundvöllur mikils svala hlutanna sem Safari UI getur gert sem aðrir vafrar geta ekki.
En W3C CSS vinnuhópurinn gegn því að bæta við umbreytingum í opinbera grein sína, sumir meðlimir sem halda því fram að umbreytingar séu ekki stíll eiginleikar og væri betra meðhöndluð af forskriftarþarfir.
En margir hönnuðir og verktaki, sjálfur með, héldu því fram að þetta séu í raun stíll - aðeins dynamic stíl, frekar en hefðbundin truflanir sem margir okkar eru vanir.
Sem betur fer hélt rökin fyrir dynamic stíl daginn. Í mars síðastliðnum byrjaði fulltrúar Apple og Mozilla að bæta við CSS Transitions Module í CSS Level 3 forskrift , náið fyrirmynd um hvað Apple hafði þegar bætt við Webkit.
Áður en við höldum áfram, láttu mig leggja áherslu á eitt atriði: Treystu aldrei á stíll fyrir virkni vefsvæðis ef stíllinn er ekki samhæfur við vafra (þ.e. tiltæk á öllum algengum vöfrum).
Enn einu sinni fyrir þá sem sakna hennar: Treystu aldrei á stíll fyrir virkni vefsvæðis ef stíllinn er ekki samhæfur við vafra .
Sem sagt, þú getur notað stíl, svo sem umbreytingar, sem hönnunar aukahlutir til að bæta reynslu notenda, án þess að fórna nothæfi fyrir þá sem geta ekki séð þau. Þetta er allt í lagi svo lengi sem þú gætir annars lifað án breytinga og notendur geta samt lokið verkefnum sínum.
CSS umbreytingar munu ekki koma í stað allra notkunar DHTML, en hér eru nokkrar leiðir til að auka hönnunina þína í vöfrum sem styðja umbreytingu án þess að rukka það fyrir afganginn.
Þú verður að skoða þessa síðu í Apple Safari 3+ eða Google Chrome að sjá þessar umbreytingar vinna. Bæði vafrar eru fáanlegar í Mac og PC smekk.
Augljósasta notkunin fyrir umbreytingum er að auðkenna þætti (hvort sem tenglar, töflur, eyðublöð, hnappar eða eitthvað annað) þegar mús notandans bendir yfir þá. Yfirfærslur eru frábær leið til að láta blaðið líta vel út.
Dæmi # 1
Hreinar CSS valmyndir eru auðvelt að ná, og umbreytingar leyfa þér að skila niður valmyndum og auðkenna áhrif.
Dæmi # 2
Þú getur fært hlut á milli tveggja punkta á síðunni og notað umbreytingar til að hreyfa hreyfingu sína.
Dæmi # 3
Smelltu og haltu!
En vertu þar um stund, Tex. Áður en þú ferð í umbreytingar verðum við að skilja hinar ýmsu ríki sem þáttur getur skipt um.
Ríki skilgreina hvernig tiltekinn þáttur stundar samskipti við notandann eða blaðsíðuna og þau eru tilgreind í CSS með gervitímum. Til dæmis, þegar notandinn sveiflar yfir frumefni, þá er þessi þáttur stíll með hover
gervi-bekknum.
Dynamic Pseudo Class | Hlutir sem hafa áhrif á | Lýsing |
: hlekkur | Aðeins tenglar | Unvisited tenglar |
: heimsótt | Aðeins tenglar | Heimsóknir |
: sveima | Allir þættir | Músarbendill yfir frumefni |
:virkur | Allir þættir | Mús smellur þáttur |
: áhersla | Allir þættir sem hægt er að velja | Element er valið |
Enginn | Allir þættir | Sjálfgefið ástand allra þátta |
Yfirfærslur vinna með því að breyta stíl um tíma milli mismunandi þáttastaða. Til dæmis, lit gildi sjálfgefið ástand frumefni mun fara í gegnum millistig litum í litrófinu áður en birtist sem lit gildi fyrir sveima ríkisins.
Við skulum íhuga einfaldan umskipti frá einum lit til annars þegar notandinn hovers yfir tengil. Eins og allir aðrir CSS eignir, eru umbreytingar bætt beint við valinn sem það á að beita. Eignin getur þá tekið eitt af eftirfarandi fjórum gildum.
CSS eign
Eignin sem á að breyta (til dæmis litur). Sjá töflunni hér að neðan til að sjá lista yfir allar CSS eiginleika sem hægt er að skipta um.
Lengd
Hversu lengi mun breytingin endast, almennt í sekúndum (til dæmis, .25s
).
Tímasetningaraðgerð
Leyfir þér að stjórna hvernig tíminn er tíminn. Frekar en að nota einfaldan línulegan fjölda, getur þú flýtt fyrir eða hægjað á umskipti eða jafnvel gefið slá eða tölu (til dæmis, linear
). Meira um þetta seinna í greininni.
Tafir
Hversu lengi á að bíða milli aðgerða og upphafs umskipta, venjulega gefið upp í sekúndum (til dæmis, .1s
). Þetta gildi er sleppt ef þú vilt ekki tefja.
Vegna þess að umskipti eignin byrjaði sem Webkit eftirnafn, verðum við að innihalda bæði transition
og -webkit-transition
eiginleikar fyrir afturábak eindrægni.
Skulum fyrst bæta báðum þessum eiginleikum við :hover
gervi-flokkur:
[css]
a: sveima {
litur: rauður;
-webkit-umskipti: lit.25s línuleg;
umskipti: litur .25s línuleg;
}
[/ css]
Nú, þegar tengill er sveiflast yfir, frekar en að stökkva frá bláum til rauðum, mun það breytast um fjórðung af sekúndu með millistigslitunum.
Auðvitað viljum við einnig umskipti aftur í sjálfgefna hleðslulitann, svo við munum bæta við umskipti í :link
(og líklega :visited
) gervi-flokkar, með aðeins mjög stuttan tafar (einn tíunda sekúndu) áður en hún hverfur:
[css]
a: hlekkur, a: heimsótt {
litur: blár;
-webkit-umskipti: lit.25s línuleg .1s;
umskipti: lit.25s línuleg .1s;
}
[/ css]
Vegna þess að umskipti er CSS eign, ef þú bætir við mörgum tilvikum umskipunar eignarinnar í sömu reglu, þá mun síðasta ganga frá fyrri hlutum, frekar en bæta við þeim. Svo í eftirfarandi reglu, eina breytingin væri bakgrunnsliturinn:
[css]
a: sveima {
litur: rauður;
bakgrunnslit: rgb (235.235.185);
-webkit-umskipti: lit.25s línuleg;
umskipti: litur .25s línuleg;
umskipti: bakgrunnslit.15s línuleg .1;
}
[/ css]
Margfeldi umbreytingar eru bætt við sem kommaseparað lista í sömu umskipunar eign skilgreiningu:
[css]
a: sveima {
litur: rauður;
bakgrunnslit: rgb (235.235.185);
-webkit-umskipti: lit.25s línuleg, bakgrunnslit.15s línuleg .1s;
umskipti: litur .25s línuleg, bakgrunnslit.15s línuleg .1s;
}
[/ css]
Þetta mun skapa bæði lit og bakgrunnslitaviðskipti.
Næstum allir CSS eignir sem hafa lit, lengd eða stöðu hluti, þar á meðal margir af nýju CSS 3 eignir, má gefa umskipti. Ein athyglisverð undantekning virðist vera kassaskugga.
Beint frá W3C's Transitions spec, hér er listi yfir CSS eiginleika sem hægt er að gefa umskipti, ásamt þeim þáttum sem eru umbreyttar. Ég hef lagt áherslu á nokkrar af gagnlegri eignunum.
CSS eign | Hvaða breytingar |
bakgrunns litur | Litur |
bakgrunnsmynd | Aðeins hallar |
bakgrunnsstaða | Hlutfall, lengd |
landamæri-botn-litur | Litur |
landamæri-botn-breidd | Lengd |
landamærum lit. | Litur |
landamærin til vinstri litar | Litur |
landamærin til vinstri-breiddar | Lengd |
landamæri-hægri-litur | Litur |
landamærin-hægri breidd | Lengd |
landamæri | Lengd |
landamæri-toppur-litur | Litur |
breiddarbrún | Lengd |
landamærum breidd | Lengd |
neðst | Lengd, hlutfall |
litur | Litur |
uppskera | Rétthyrningur |
Leturstærð | Lengd, hlutfall |
leturþyngd | Númer |
rist- * | Ýmsir |
hæð | Lengd, hlutfall |
vinstri | Lengd, hlutfall |
bréfabili | Lengd |
línuhæð | Fjöldi, lengd, hlutfall |
framlegð-botn | Lengd |
framlegð-vinstri | Lengd |
framlegð-hægri | Lengd |
framlegð-toppur | Lengd |
hámarkshæð | Lengd, hlutfall |
hámarksbreidd | Lengd, hlutfall |
lágmarkshæð | Lengd, hlutfall |
mín breidd | Lengd, hlutfall |
ógagnsæi | Númer |
útlit-litur | Litur |
útreikning á móti | Heiltala |
útlínur-breidd | Lengd |
púði-botn | Lengd |
padding-left | Lengd |
padding-hægri | Lengd |
padding-top | Lengd |
rétt | Lengd, hlutfall |
textaritun | Lengd, hlutfall |
textaskuggi | Skuggi |
efst | Lengd, hlutfall |
lóðrétt-takt | Leitarorð, lengd, hlutfall |
sýnileiki | Skyggni |
breidd | Lengd, hlutfall |
orðalengd | Lengd, hlutfall |
z-vísitölu | Heiltala |
zoom | Númer |
Með umbreytingum er hægt að breyta tíðni, telja hægari í upphafi og hraðakstur í lokin, öfugt, eða eitthvað á milli. CSS umbreytingar koma með fimm leitarorðum fyrir tímasetningar umskipti og leyfa þér að tilgreina gildi fyrir eigin tímasetninguferil.
Nafn | Hvernig það virkar |
rúmmetra-bezier (x1, y1, x2, y2) | X og Y gildin eru á milli 0 og 1 til að skilgreina lögun bezier ferils sem notaður er fyrir tímasetningu. |
línuleg | Stöðug hraði |
vellíðan | Gradual hægagangur |
vellíðan | Flýta |
vellíðan | Hægðu á þér |
vellíðan-í-út | Hraðaðu upp og taktu síðan niður |
Yfirfærslur verða fljótt að verða staðlaðar verklagsreglur fyrir allar vefsíður og auka viðmót við notendaviðmót.
Til að bæta við ósamþykktum umbreytingum á öllu vefsíðunni þinni er ein kostur að bæta við umskipti í alhliða val, svipað CSS endurstilla. Þetta á við um sjálfgefna breytingu á öllum þáttum á síðunni, sem gerir þér kleift að halda stöðugu umskipti:
[css]
*: hlekkur, *: heimsótt, *: sveima, *: virkur, *: brennidepill {
-webkit-umskipti:
litur .25s línuleg,
bakgrunnslit.25s línuleg,
landamærum lit.25s línuleg;
umskipti:
litur .25s línuleg,
bakgrunnslit.25s línuleg,
landamærum lit.25s línuleg;
}
[/ css]
Eitt rifrildi gegn alhliða umskipti, og örugglega gegn því að nota alhliða val fyrir CSS endurstillir almennt, er að beita stíl við hvert frumefni á síðunni getur hægja á síðu flutningur. Hins vegar hef ég aldrei fundið nein merki um að þetta sé raunin. Hver veit annað?
Jason Cranford Teague er höfundur fleiri en 13 bækur um stafræna fjölmiðla, þar á meðal Talandi í stílum: Grundvallaratriði CSS fyrir vefhönnuðir . Fyrir frekari upplýsingar um CSS og vefritgerð, skoðaðu nýja bók Jason, Vatnsvefsritgerð . Fylgdu Jason á Twitter: @ jasonspeaking .