Banner animat folosind CSS3. Creați un banner animat folosind CSS3 Cum să realizați acest lucru

Acasă / Sisteme de operare

Fără îndoială una dintre cele mai strălucitoare tendinte 2012 este pe dezvoltare CCS3, HTML5. Astăzi oferim o prezentare largă și foarte utilă a exemplelor " 20+: lecții creative și utile pe CSS3″ oferit pe SpeckyBoy. Toate exemplele sunt realizate pe curat fara JavaScript, lecțiile prezentate conțin demonstrații și fișiere gata CSS3 pentru descărcare.

Suntem siguri că aceste tehnici vor fi utile dezvoltatorilor web!

lecții css3 :

1. Galerii foto CSS3, slidere, efecte cu imagini

1.1.Slider pe CSS3

Nu-mi vine să cred, dar acest slider cu diferite efecte este realizat exclusiv în CSS3, foarte impresionant.

1.2. Fundal pentru un site web pe ecran complet cu efect de glisor folosind CSS3

Designerii web au experimentat de mult timp cu diferite medii pentru un site, dar până acum se putea face foarte puțin cu CSS pur, trebuia să folosești JS. Acum CSS3 vă oferă posibilitatea de a face cu fundalul site-ului dvs. după cum doriți - puteți avea un fundal cu o fotografie mare, de înaltă calitate, puteți schimba mai multe fundaluri cu efecte diferite, iar fundalul este scalabil în funcție de ecran parametrii. În general, o oportunitate uimitoare pentru site-uri creative.

1.3. Lightbox pe CSS3

Cu acest tutorial puteți învăța cum să creați un Lightbox cu o varietate de efecte folosind CSS pur.

1.4. Proprietăți imagine în CSS3

Acest tutorial demonstrează funcții noi în CSS3 pentru proprietățile imaginii, cum ar fi colțurile rotunjite, umbrele și alte efecte.

1.5. Banner animat folosind CSS3

1.6 Panoul de încărcare în CSS3

1.7. Panglică 3D cu CSS3

Vizualizați demonstrația sau descărcați fișiere de cod CSS3 →

2. Meniuri CSS3, navigare și butoane

2.1. Meniul Apple.com în CSS3

Tutorial pentru crearea faimosului meniu Apple.com în CSS3.

2.2. Meniu orizontal animat în CSS3

Un tutorial simplu care arată cum să faci un meniu animat în CSS3 cu diferite efecte.

2.3. Meniu vertical animat cu CSS3

2.4. Butoane animate cu CSS3

Excelent tutorial cu 7 exemple de butoane creative animate.

2.5. Meniu creativ animat cu imagini folosind CSS3

În această lecție, cele 10 exemple prezentate sunt pur și simplu uimitoare. Astfel de meniuri creative complexe erau create exclusiv folosind JS. Impresionant!

2.6. Efect de navigare în cerc cu CSS3

Un efect neobișnuit atunci când treceți cu mouse-ul peste un element de navigare selectat sub forma unui cerc cu o imagine. Ia notă!

2.7. Meniu derulant în CSS3

Tutorial pentru implementarea unui meniu derulant simplu cu subniveluri în CSS3.

2.8. Navigare CSS3 cu tranziții animate

3. Diverse efecte asupra CSS3

3.1. Sfat animat în CSS3 fără jQuery

Datorită dezvoltării tehnologiilor web și a browserelor moderne, putem crea multe efecte fără a folosi Javascript. Acest lucru a făcut viața mult mai ușoară pentru dezvoltatorii web. Pentru că acum putem crea efecte folosind CSS pur fără a folosi Javascript. Prin urmare, în acest articol vreau să vă spun dacă este posibil să creați bannere folosind CSS pur, ce este necesar pentru aceasta, precum și avantajele și dezavantajele acestei abordări.

CSS3 oferă o gamă largă de posibilități, trebuie doar să le utilizați corect. De exemplu, aș dori să ofer link-uri către lucrările mele anterioare „Caractere în CSS pur”:

În primul rând, vreau să dau exemple ale bannerelor mele CSS. Poate le-ați văzut deja pe site, dar nici nu știați ce și cum au fost create.

Despre demo: Fiecare exemplu (banner) are o durată în secunde în partea de jos, precum și un buton „Refresh”, care începe să afișeze bannerul de la început.

Banner #1 — „Instruire individuală în construirea site-ului web”:

Am creat acest banner de aproximativ 2 zile. De ce atât de mult? Pentru că a durat ceva timp pentru a adapta bannerul (pentru a-l face cauciuc) la recalcularea coordonatelor. În prezent, dimensiunea sa depinde de lățimea blocului părinte (care conține însuși bannerul CSS).

Am creat acest banner în literalmente 2-2,5 ore. Singurul lucru care a încetinit procesul de creare aici a fost alegerea pictogramelor. Pentru că trebuiau selectate aproape de tema bannerului.

Acest banner se întinde și în funcție de lățimea containerului bloc în care se află. Crearea a durat aproximativ 1,5 ore.

Aceste bannere arată foarte bine, dar este chiar atât de simplu? Să ne uităm la avantajele și dezavantajele acestei metode de a crea bannere.

Avantajele și dezavantajele bannerelor CSS:

Cum se creează un banner CSS?

1 Idee

În primul rând, trebuie să știi exact ce animație ar trebui să aibă bannerul (ce, unde și de unde ar trebui să se miște și unde ar trebui să apară). Puteți lua o foaie A4 și desena unde se va mișca fiecare element și ce ar trebui să fie pe banner.

La urma urmei, nu poți începe să creezi un banner dacă nu știi ce ar trebui să fie și cum să funcționeze.

2 Structura HTML

Următorul pas este să creați un marcaj HTML, astfel încât elementele să poată fi mutate (și să creați animație pentru ele). Adică, nu puteți face totul cu o singură imagine care se va muta din dreapta sau din stânga și apoi animația este terminată.

De obicei, există un bloc comun în care se află toate celelalte. Și în acest bloc general putem gestiona elementele după cum avem nevoie.

3 animație CSS

Pasul final este să creați animații pentru blocuri, precum și să scrieți stiluri pentru acestea, deoarece unele părți ale animației sunt ascunse implicit.

Pentru a vă crea propriul banner, trebuie să înțelegeți bine elementele de bază ale CSS și HTML.

Aflați animația CSS de bază cu acest tutorial - .

Concluzie

Toate browserele moderne acceptă proprietăți CSS3, ceea ce înseamnă că bannerele vor fi afișate corect în astfel de browsere. Dar cu ajutorul pluginurilor JS puteți crea bannere CSS pentru browsere mai vechi. Învățând elementele de bază ale animației CSS, vei înțelege procesul de creare a bannerului și în curând vei crea primul tău banner CSS pur! 😉

Să facem un banner publicitar folosind CSS3. În prezent, doar animațiile CSS3 sunt pe deplin acceptate Browsere Firefoxși WebKit. Dar este destul de ușor să faci bannerul să funcționeze în alte browsere. Cu toate acestea, nu vă așteptați la performanțe grozave peste tot (în special în IE 7 și mai vechi) atunci când experimentați cu cele mai recente tehnici CSS.

Nota: Pentru a economisi spațiu pe pagină, toate prefixele producătorului de browser au fost omise. Vezi codul din surse.

Marcaj HTML

Mai întâi, să ne uităm la structura bannerului în HTML. În această etapă trebuie să ne imaginăm cum va funcționa animația:

Pierdut?

Relaxați-vă - vă vom ajuta.

Pentru o înțelegere mai profundă a structurii de marcare, să ne concentrăm pe barcă:

Trei animații au loc cu barca:

    Barca aluneca pe stanga. Se aplică unei liste (grup) neordonate.

    Imitația unei bărci legănându-se pe apă. Se aplică unui element din listă (barcă).

    Apariția unui semn de întrebare. Se aplică unui element div (semn de întrebare).

Dacă te uiți la pagina demo, poți vedea că animația pentru elementul din listă (barcă) afectează și elementul div din interiorul acestuia (Semnul întrebării). De asemenea, animația „gliding out” pentru o listă neordonată funcționează pe elementul din listă (barcă și semn de întrebare).

Prin urmare, putem concluziona că elementele copil primesc animații de la părinți pe lângă propriile acțiuni. Acum nu mai rămâne decât să enumerați structurile părinte/copil.

CSS

Înainte de a începe să analizați crearea animației, trebuie să vă asigurați compatibil cu invers cu browsere mai vechi.

Compatibilitate înapoi

Ne vom asigura compatibilitatea inversă prin simpla stilare a marcajului ca și cum animațiile CSS nu ar exista deloc. Dacă cineva vede pagina într-un browser vechi, va vedea o imagine statică obișnuită și nu un spațiu alb gol.

De exemplu: ce se întâmplă dacă folosești CSS? similar cu cel de mai jos, vor apărea probleme:

/* GREȘIT! */ @keyframe our-fade-in-animation ( 0% (opacitate: 0;) 100% (opacitate: 1;) ) div ( opacitate: 0; /* Acest div este ascuns implicit - hopa! */ animație: animația noastră -fade-in-1s 1)

Dacă browserul nu acceptă animații, elementul div va rămâne invizibil pentru utilizator.

Și așa vom asigura compatibilitatea cu browserele mai vechi:

/* TRUE */ @keyframe our-fade-in-animation ( 0% (opacitate: 0;) 100% (opacitate: 1;) ) div ( opacitate: 1; /* Acest div este vizibil implicit */ animație: animația noastră -fade-in-1s 1)

Acum elementul div va fi afișat chiar dacă animația nu reușește să pornească. Și în browsere moderne Div-ul va fi ascuns mai întâi în timpul animației.

Urzeală

Acum știm cum să asigurăm compatibilitatea cu înapoi (ceea ce va ajuta la evitarea problemelor atunci când lucrați cu proiecte reale). Este timpul să creăm baza codului nostru CSS.

Trebuie să rețineți 3 puncte:

    Deoarece bannerul va fi folosit pe diferite site-uri, vom face tot posibilul selectoare CSS special. Toate vor începe cu identificatorul #ad-1. În acest fel vom încerca să evităm suprapunerea între codul nostru și codul site-ului.

    Ignorăm în mod intenționat întârzierea animației in instalatii. Dacă utilizați o întârziere a animației atunci când setați stiluri cu vizibilitatea implicită a elementelor, structura bannerului va fi perturbată de dispariția sau apariția bruscă a unor părți ale imaginii după finalizarea animației. Întârzierea animației este simulată de durata și setarea cadrelor.

    Ori de câte ori este posibil Folosim o animație pentru mai multe elemente. Astfel economisim timp și reducem dimensiunea codului.

Deci haideți să creăm baza pentru bannerul nostru. Să setăm poziționarea relativă pentru acesta, astfel încât elementele interne să poată fi plasate corect. De asemenea, va ascunde orice în afara domeniului de aplicare al elementului:

#ad-1 ( lățime: 720px; înălțime: 300px; float: stânga; margine: 40px automat 0; background-image: url(../images/ad-1/background.png); background-position: center; fundal -repeat: no-repeat: hidden box-shadow: 0px 0px 6px #000;

Apoi setăm stiluri pentru câmpurile de text și de introducere. Apelați animațiile corespunzătoare. De asemenea, trebuie să vă asigurați că conținutul are cel mai mare indice z pentru părțile în mișcare, astfel încât acestea să nu se suprapună:

#ad-1 #conținut ( lățime: 325px; float: dreapta; margine: 40px; text-align: center; z-index: 4; poziție: relativ; overflow: vizibil; ) #ad-1 h2 ( font-family: „Alfa Slab One”, culoare cursiv: #137dd5: text-shadow: 0px 0px 4px animație: delayed-fade-animation 1 ease-in-out; întârziere */ ) #ad-1 h3 ( familia de fonturi: „Boogaloo”, cursiv; culoare: #202224; dimensiunea fontului: 31px; înălțimea liniei: 31px; umbră text: 0px 0px 4px #fff; animație: întârziată -fade-animation 10s 1 ease-in-out /* Aspectul h3 cu întârziere simulată */ ) #ad-1 form ( margine: 30px 0 0 6px; poziție: relativă; animație: form-animation 12s 1 ease-in; -out; /* Glisarea formularului pentru introducerea unei adrese de e-mail cu întârziere simulată */ ) #ad-1 #email ( lățime: 158px; înălțime: 48px; float: stânga; padding: 0 20px; font-size: 16px; familie de fonturi: "Lucida Grande", sans-serif: 1px 1px 0px #a2917d;

chenar:1px solid #a2917d;

#ad-1 ul#water( /* Dacă aveți nevoie de altă animație pentru apă, o puteți adăuga aici */ ) #ad-1 li#water-back ( lățime: 1200px; înălțime: 84px; imagine de fundal: url( .. /images/ad-1/water-back.png: z-index: absolute: -20px; #ad-1 li#water-front ( lățime: 1200px; înălțime: 158px; background-image: url(../images/ad-1/water-front .png); background-repeat: z-index: 3; jos: -70px animație: 2s de animație infinită pentru a simula stropirea valurilor.

Să setăm stiluri pentru barcă și elementele acesteia. Numim și animațiile corespunzătoare:

#ad-1 ul#boat ( lățime: 249px; înălțime: 215px; z-index: 2; poziție: absolut; jos: 25px; stânga: 20px; overflow: vizibil; animație: barca în animație 3s 1 ease-out ; /* Glisează grupul când începe anunțul */ ) #ad-1 ul#boat li ( lățime: 249px; înălțime: 215px; imagine de fundal: url(../images/ad-1/boat.png); poziție: absolută: 0px: animație: boat-animation 2s infinite ease-in-out; ad-1 # semn de întrebare ( lățime: 24 px; înălțime: 50 px; imagine de fundal: url(../images/ad-1/question-mark.png); poziție: absolut; dreapta: 34 px; sus: -30 px ; animație: delayed-fade-animation 4s 1 ease-in-out /* Fade in the semn de întrebare */ )

Acum să creăm stiluri pentru nori. Pentru ei vom folosi animație cu efect de mișcare nesfârșită. Ilustrația demonstrează esența ideii:

Și aici este codul CSS:

#ad-1 #nori (poziție: absolut; sus: 0px; z-index: 0; animație: nor-animație 30s infinit liniar; /* Derulați norii la stânga, resetați și repetați */ ) #ad-1 # cloud-group -1 ( lățime: 720px; poziție: absolut; stânga: 0px; ) #ad-1 #cloud-group-2 ( lățime: 720px; poziție: absolut; stânga: 720px; ) #ad-1 .cloud- 1 ( lățime: 172 px; înălțime: 121 px; url(../images/ad-1/cloud-1.png); poziție: top absolut: 40 px; ( lățime: 121 px; înălțime: 75 px; imagine de fundal: url( ../images/ad-1/cloud-2.png: absolut: -25px: 300px ) #ad-1 ; înălțime: 105px; : url(../images/ad-1/cloud-3.png: absolute: -5px;

Animații

Memento: Din acest moment, nimic nu este animat de fapt. Dacă te uiți la bannerul nostru acum, vei vedea o imagine statică. Aici sunt create și apelate animațiile în codul de mai sus.

Acum să dăm viață frumoasei noastre imagini statice:

/* Animația de întârziere simulată este folosită pentru a afișa mai multe elemente. Simularea întârzierii se realizează prin începerea procesului cu 80% din animație continuă (și nu imediat). În acest fel puteți simula orice întârziere: */ @keyframes delayed-fade-animation ( 0% (opacitate: 0;) 80% (opacitate: 0;) 100% (opacitate: 1;) ) /* Animație pentru afișarea unui formular cu o adresă de e-mail și un buton. Se folosește și imitația întârzierii */ @keyframes form-animation ( 0% (opacitate: 0; dreapta: -400px;) 90% (opacitate: 0; dreapta: -400px;) 95% (opacitate: 0,5; dreapta: 20px ;) 100% (opacitate: 1; dreapta: 0px;) ) /* Această animație este folosită pentru a scoate barca de pe ecran la începutul videoclipului: */ @keyframes boat-in-animation ( 0% (stânga: -200px;) 100% (stânga: 20px;) ) /* Animație pentru nori. Primul grup de nori începe să se miște din centru, iar al doilea - în dreapta ecranului. Primul grup este eliminat încet de pe ecran, iar al doilea apare în dreapta. Odată ce grupul din stânga este complet ascuns, norii revin foarte repede la poziția inițială: */ @keyframes cloud-animation ( 0% (stânga: 0px;) 99,9999% (stânga: -720px;) 100% (stânga: 0px;) ) ) / * Ultimele trei animații sunt aproape aceleași - diferența constă în poziționarea elementelor. Ele simulează stropirea valurilor oceanului: */ @keyframes boat-animation ( 0% (jos: 0px; stânga: 0px;) 25% (jos: -2px; stânga: -2px;) 70% (jos: 2px; stânga) : - 4px;) 100% (jos: -1px; stânga: 0px;) ) @keyframes water-back-animation ( 0% (jos: 10px; stânga: -20px;) 25% (jos: 8px; stânga: - 22px; ) 70% (jos: 12px; stânga: -24px;) 100% (jos: 9px; stânga: -20px;) ) @keyframes water-front-animation ( 0% (jos: -70px; stânga: -30px) ;) 25% (jos: -68px; stânga: -32px;) 70% (jos: -72px; stânga: -34px;) 100% (jos: -69px; stânga: -30px;) )

Concluzie

În această lecție am învățat câteva concepte cheie:

  1. Elementele moștenitoare primesc animațiile părinților lor pe lângă animațiile proprii.
  2. Când creați un banner, ar trebui să vă străduiți să utilizați un identificator unic pentru a evita suprapunerea codului cu un proiect CSS existent.
  3. Poziția și stilul elementelor ar trebui alese ca și cum animația nu ar fi disponibilă pentru a asigura compatibilitatea inversă.
  4. Dacă este posibil, ar trebui să utilizați o animație pentru mai multe elemente.

Astăzi vom crea un banner folosind animația CSS3.

În prezent, doar browserele Firefox și WebKit acceptă animații CSS, dar ne vom uita la modul în care putem face aceste bannere să funcționeze și în alte browsere (pe care le numesc browsere din secolul al XVIII-lea). Cu toate acestea, nu ar trebui să vă așteptați la un suport mare în toate browserele (în special IE 7 și mai mici) atunci când experimentați cu tehnologiile CSS moderne.

Deci haideți să creăm bannere animate!

Vă rugăm să rețineți: pentru a economisi spațiu, toate prefixele browserului au fost eliminate. Cm. fișierele sursă pentru a vedea tot codul CSS. Dacă nu sunteți familiarizat cu animațiile CSS, vă recomand cu căldurăîn primul rândciteste asta.

Marcaj HTML

Mai întâi, vom crea structura bannerului folosind HTML. În acest moment, trebuie să ne gândim cum vrem să funcționeze animația noastră - cum va afecta ea elementele copil și părinte în structura marcajului nostru (voi explica mai jos):



> Pierdut pe mare? >
> Relaxează-te - avem cârma ta. >
>


>
>


  • >
  • >
  • >
    >

    • >
    • >
    • >
      >
      >

        >
        >
        >
        >

        • >
        • >
          >
          >

          Pentru a înțelege structura marcajului nostru, să ne concentrăm pentru o secundă asupra navei:


            >
            >
            >
            >

            Acum, să ne uităm la primul banner de pe pagina demo. Există trei animații separate care au loc pe navă:

            • Animație - când barca alunecă pe partea stângă. Acest lucru se aplică direct unei liste neordonate (un grup de elemente de barcă).
            • Animație - care dă bărcii un efect de balansare, simulând o barcă plutind pe apă. Acest lucru se aplică direct articolelor din listă (barca).
            • Animație - care ascunde semnul întrebării. Acest lucru este valabil pentru div (semnul de întrebare).

            Dacă nu suferiți de rău de mare, atunci aruncați o altă privire pe pagina demo. Veți vedea că animația care este aplicată elementului din listă (barca), care determină ridicarea barcii, afectează și DIV din interiorul acesteia (cu semnul întrebării). În plus, animația de „alunecare” care este aplicată unei liste neordonate (grup) afectează, de asemenea, elementul de listă și DIV-urile din interiorul acestuia (barca și semnul de întrebare). Acest lucru ne conduce la observații importante:

            Elementele copil moștenesc animația de la părinți, pe lângă propria animație. Aceste cunoștințe se adaugă la arsenalul nostru, dar numărul de elemente copil/părinte atunci când creați o animație vă va uimi mintea (și procesorul de pe laptopul bunicii)!

            CSS

            Înainte de a ajunge la lucrurile cu adevărat interesante și de a începe să creăm animații, mai trebuie să creăm stiluri pentru browsere care sunt blocate în secolul al XVIII-lea.

            Stiluri de rezervă pentru browsere mai vechi

            Vom crea doar stiluri de rezervă ca și cum animația CSS nu ar exista (gândul că animația CSS nu există ar face pe orice om adult nu numai să plângă, dar să se spânzure lângă mine :)). Cu alte cuvinte, dacă animația noastră nu reușește să fie redată, bannerul ar trebui să arate în continuare decent. În acest fel, când cineva vede bannerul folosind un browser vechi, va vedea un banner normal, static în loc de spațiu gol.

            De exemplu: dacă cineva folosește CSS astfel, vor apărea probleme:

            /* DIRECŢIA GREŞITĂ! */


            0% (opacitate: 0; )
            100% (opacitate: 1; )
            }

            Div (
            opacitate: 0; /* Acest bloc este ascuns implicit!*/

            }

            Dacă browserul utilizatorului nu acceptă animația, bannerul va rămâne invizibil pentru utilizator. Și atunci clientul va sparge ușa biroului vânzătorului - cu un ferăstrău cu lanț în mână - și va cere să-i explice de ce nu i-a vândut produsul! Și dacă nu reușesc să înțeleagă că un browser poate fi atât de jalnic, viețile lor se vor termina îngrozitor, iar ultimele lor cuvinte vor fi blesteme la Internet Explorer... :)

            Dar nu vă faceți griji, vă vom oferi asistență extinsă pentru browser:

            /* CALEA CORECTA */

            @keyframe fade-in-animația noastră (
            0% (opacitate: 0; )
            100% (opacitate: 1; )
            }

            Div (
            opacitate: 1; /* acest div va fi vizibil implicit */
            animație: our-fade-in-animation 1s 1 ;
            }

            După cum puteți vedea, DIV se va afișa chiar dacă animația nu reușește să fie redată. Dacă animația este redabilă, DIV va fi ascuns imediat și animația se va reda până la final.

            Acum că știm cum să facem ca bannerele noastre animate să accepte browsere mai vechi, să trecem la CSS-ul de bază.

            Există trei lucruri cheie de reținut:

            • Deoarece aceste reclame pot fi folosite pe diferite site-uri web, vom face toate stilurile noastre CSS foarte specifice. Vom începe declararea fiecărui selector cu id: #ad-1. Acest lucru va împiedica stilurile noastre de banner să fie interferate de stilurile și elementele existente.
            • Vom fi intenționați ignorați funcția de întârziere a animației atunci când ne creăm animația. Dacă ar fi să folosim funcția de întârziere a animației, precum și designul pentru elementele noastre calea corectă(vizibil în mod implicit), toate acestea erau vizibile pe ecran înainte ca animația să înceapă în sfârșit redarea. Acesta este motivul pentru care animația începe imediat, ceea ce ne permite să ascundem elemente de pe ecran până când avem nevoie de ele. Vom simula întârzierea animației prin creșterea duratei și setări manuale cadre cheie. Veți vedea exemple în acest sens când vom începe să creăm animații.
            • Dacă este posibil, utilizați o animație pentru mai multe elemente. În acest fel, putem economisi mult timp și reduce umflarea codului. Puteți crea mai multe efecte diferite în cadrul aceleiași animații ajustând durata și tranzițiile.

            Deci, vom începe să ne creăm bannerul publicitar. Să ne asigurăm că are o poziție relativă (poziție: relativă) astfel încât elementele din interiorul său să poată fi plasate corect. De asemenea, trebuie să ne asigurăm că proprietatea overflow: hidden este setată pentru a ascunde orice nu este necesar:

            #ad-1 (
            latime: 720px;
            înălțime: 300px;
            plutire: stânga;
            marjă: 40px auto 0;
            imagine de fundal: url (../images/ad-1/background.png);
            fundal-poziție : centru ;
            background-repeat : fără repetare ;
            preaplin: ascuns;
            poziție: relativă;
            box-shadow: 0px 0px 6px #000 ;
            }

            #ad-1 #conținut (
            lățime: 325px;
            plutire: dreapta;
            marja: 40px;
            text-align: centru;
            indicele z: 4;
            poziție: relativă;
            preaplin: vizibil;
            }
            #ad-1 h2 (
            font-family: "Alfa Slab One" , cursiv ;
            culoare : #137dd5 ;
            dimensiunea fontului: 50px;
            înălțimea liniei: 50px;

            animație: delayed-fade-animation 7s 1 ease-in-out; /* H2 se va estompa cu întârziere simulată a animației */
            }
            #ad-1 h3 (

            culoare : #202224 ;
            dimensiunea fontului: 31px;
            înălțimea liniei: 31px;
            text-shadow : 0px 0px 4px #fff ;
            animație: delayed-fade-animation 10s 1 ease-in-out; /* H3 se va estompa cu întârziere simulată a animației */
            }
            formularul #ad-1 (
            marjă: 30px 0 0 6px;
            poziție: relativă;
            animație: form-animation 12s 1 ease-in-out; /* Acest cod mută formularul nostru de e-mail */
            }
            #ad-1 #email (
            latime: 158px;
            inaltime: 48px;
            plutire: stânga;
            umplutură: 0 20px;
            dimensiunea fontului: 16px;
            familia de fonturi: "Lucida Grande", sans-serif;
            culoare : #fff ;
            text-shadow : 1px 1px 0px #a2917d ;
            chenar-sus-stânga-rază: 5px ;
            chenar-raza-jos-stânga: 5px ;
            chenar : 1px solid #a2917d ;
            contur: niciunul;
            box-shadow: -1px -1px 1px #fff ;
            culoare de fundal: #c7b29b;
            imagine de fundal: gradient liniar (jos, rgb (216, 201, 185) 0%, rgb (199, 178, 155) 100%);
            }
            #ad-1 #email :focus (
            imagine de fundal: gradient liniar (jos, rgb (199, 178, 155) 0%, rgb (199, 178, 155) 100%);

            }
            #ad-1 #trimite (
            înălțime: 50px;
            plutire: stânga;
            cursor: pointer;
            umplutură: 0 20px;
            dimensiunea fontului: 20px;
            font-family : "Boogaloo" , cursiv ;
            culoare : #137dd5 ;
            text-shadow : 1px 1px 0px #fff ;
            chenar-sus-dreapta-rază: 5px ;
            chenar-jos-dreapta-rază: 5px ;
            chenar : 1px solid #bcc0c4 ;
            chenar-stânga : niciunul ;
            culoare de fundal: #fff ;
            imagine de fundal: gradient liniar (jos, rgb (245, 247, 249) 0%, rgb (255, 255, 255) 100%);
            }
            #ad-1 #submit :hover (
            imagine de fundal: gradient liniar (jos, rgb (255, 255, 255) 0%, rgb (255, 255, 255) 100%);
            }

            Acum vom crea stiluri pentru apă și vom apela animația corespunzătoare:

            #ad-1 ul#apă (
            /* Dacă dorim să adăugăm o altă animație pentru apă (de exemplu, mișcându-ne pe orizontală), am putea să o facem aici */
            }
            #ad-1 li#water-back (
            latime: 1200px;
            inaltime: 84px;
            imagine de fundal : url (../images/ad-1/water-back.png );

            indicele z: 1;
            poziție: absolută;
            jos: 10px;
            stânga: -20px;
            animație: water-back-animation 3s infinite ease-in-out; /* Efect de săritură în apă */
            }
            #ad-1 li#water-front (
            latime: 1200px;
            înălțime: 158px;
            imagine de fundal : url ( ../images/ad-1/water-front.png) ;
            background-repeat : repetare-x ;
            indicele z: 3;
            poziție: absolută;
            jos: -70px;
            stânga: -30px;
            animație: water-front-animation 2s infinit ease-in-out; /* Un alt efect de săritură a apei - acesta este puțin diferit. Vom face această animație puțin mai rapid pentru a crea o perspectivă. */
            }

            Acum să creăm stiluri pentru barcă și toate elementele sale. Din nou, vom numi animația corespunzătoare:

            #ad-1 ul#boat (
            lățime: 249px;
            înălțime: 215px;
            indicele z: 2;
            poziție: absolută;
            jos: 25px;
            stânga: 20px;
            preaplin: vizibil;
            animație: boat-in-animation 3s 1 ease-out; /* Mută ​​grupul la început */
            }
            #ad-1 ul#boat li (
            lățime: 249px;
            înălțime: 215px;
            imagine de fundal : url (../images/ad-1/boat.png );
            poziție: absolută;
            jos: 0px;
            stânga: 0px;
            preaplin: vizibil;
            animație: boat-animation 2s infinite ease-in-out; /* Imitația unei bărci balansându-se pe apă - o animație similară este deja folosită pentru apa în sine. */
            }
            #ad-1 #semn de întrebare (
            latime: 24px;
            înălțime: 50px;
            imagine de fundal : url ( ../images/ad-1/question-mark.png) ;
            poziție: absolută;
            dreapta: 34px;
            sus: -30px;
            animație: delayed-fade-animation 4s 1 ease-in-out; /* Ascuns semnul întrebării */
            }

            În cele din urmă, vom crea stiluri pentru un grup de nori și pentru un singur nor. De asemenea, vom declanșa o animație destul de îngrijită, care le va oferi un efect de defilare continuă. Iată o ilustrare a ceea ce se va întâmpla:

            Acestea sunt stilurile:

            #ad-1 #nori (
            poziție: absolută;
            sus: 0px;
            indicele z: 0;
            animație: nor-animație 30s infinit liniar; /* Mută ​​norii la stânga, de un număr infinit de ori */
            }
            #ad-1 #cloud-group-1 (
            latime: 720px;
            poziție: absolută;
            stânga: 0px;
            }
            #ad-1 #cloud-group-2 (
            latime: 720px;
            poziție: absolută;
            stânga: 720px;
            }
            #ad-1 .cloud-1 (
            latime: 172px;
            înălțime: 121px;
            imagine de fundal: url (../images/ad-1 /cloud-1 .png) ;
            poziție: absolută;
            sus: 10px;
            stânga: 40px;
            }
            #ad-1 .cloud-2 (
            lățime: 121px;
            înălțime: 75px;
            imagine de fundal : url (../images/ad-1 /cloud-2 .png) ;
            poziție: absolută;
            sus: -25px;
            stânga: 300px;
            }
            #ad-1 .cloud-3 (
            lățime: 132px;
            înălțime: 105px;
            imagine de fundal : url (../images/ad-1 /cloud-3 .png) ;
            poziție: absolută;
            sus: -5px;
            stânga: 530px;
            }

            Ufff! Era o mulțime de cod CSS. Dar cel mai interesant lucru urmează!

            Animaţie

            Amintiți-vă: până în acest moment, nu a existat nicio animație reală. Dacă ar fi să vizualizați bannerul acum, ați vedea ce chiar browser vechi- anunt static. CUacumde fapt, vom crea animația pe care am numit-o deja în codul nostru CSS.

            Acum că bannerul nostru se afișează bine, să dăm viață acestui anunț static! Să trecem direct la cod - vă voi spune în comentarii ce se va întâmpla:

            Concluzie

            În timpul acestui tutorial, am învățat punctele cheie ale creării de animații care acceptă browsere mai vechi:

            1. Elementele copil moștenesc animația părinților lor pe lângă propria animație. Putem folosi acest lucru pentru a crea animații mai complexe.
            2. Pentru stilurile noastre de anunțuri, trebuie să folosim selectoare foarte specifice, astfel încât anunțurile noastre să nu fie înlocuite de alte stiluri de site.
            3. Este necesar să setați stiluri pentru elemente astfel încât, dacă animația noastră nu poate fi redată, anunțul ar trebui să arate în continuare decent.
            4. Ori de câte ori este posibil, utilizați o animație pentru mai multe elemente - economisim timp și prevenim proliferarea codului.
            5. Ne referim adesea la Internet Explorer ca la un „browser al secolului al XVIII-lea” în timp ce ne scuturăm pumnii de dezgust și furie. :)

            Mult succes cu experimentele CSS.

            Designul web responsive este un progres semnificativ pentru întregul Internet. Nu mai suntem constrânși de modelul de multă vreme depășit de „pagină tipărită” al conținutului static împărțit în zone cu dimensiuni fixe. Astăzi internetul este capabil să trăiască, să respire și să se adapteze, umplând tot spațiul disponibil pe ecrane diverse dispozitive, incepand de la telefoane mobile- și până la afișări video uriașe. Acesta este ceea ce a fost intenționat să fie World Wide Web.

            Dar există o mică problemă. Site-urile web conțin adesea bannere publicitare și bannere tradiționale care nu sunt foarte flexibile. Atât bannerele flash, cât și cele GIF au dimensiuni fixe, motiv pentru care sunt incompatibile cu aspectul adaptiv modern. Avem nevoie de o nouă metodă de a crea reclame banner. Avem nevoie de bannere „adaptative”...

            Nou format de banner

            Singura modalitate de a face un banner la fel de flexibil ca marcajul nostru este să îl scrieți în HTML5. La început poate părea o idee nebunească, dar vă asigur că nu este. De fapt, această abordare are multe avantaje:

            • Publicitatea HTML este disponibilă peste tot, iar marcajul semantic îl va face potrivit pentru cititoarele de ecran;
            • text, imagini, videoclipuri, scripturi și formulare - toate acestea pot fi folosite într-un banner la fel ca pe orice pagină web;
            • dacă este necesar bannerele pot folosi scripturi dinamice și baze de date pe server;
            • Pot fi aduse modificări bannerului după ce acesta a fost postat.;
            • fișierul (setul de fișiere) unui banner HTML poate avea o dimensiune foarte modestă;
            • Servirea de bannere se reduce în esență la găzduirea web;
            • Dezvoltatorii web nu trebuie să învețe nimic nou- toate tehnologiile rămân aceleași ca în dezvoltarea web convențională;
            • si bineinteles Folosind interogări media CSS3, puteți face ca anunțurile HTML5 să se „ajusteze” la orice dimensiune- la urma urmei, acesta este exact comportamentul pe care îl așteptăm de la bannere adaptive!

            Cum se poate realiza acest lucru?

            În primul rând, bannerul este creat ca o pagină HTML5 de cauciuc. Îl umplem cu text, imagini, link-uri către pagina necesară, decorând toate acestea cu CSS3. În al doilea rând, un astfel de banner poate fi plasat pe orice site folosind un floating iframe. Există un truc care folosește interogări media CSS3 pentru a face dimensiunile iframe-ului dinamic, și voi vorbi despre asta în curând... Cu toate acestea, în cea mai mare parte, asta este!

© 2024 ermake.ru -- Despre repararea PC-ului - Portal de informații