Animoitu banneri CSS3:lla. Luo animoitu banneri CSS3:lla Kuinka tämä saavutetaan

Kotiin / Käyttöjärjestelmät

Epäilemättä yksi kirkkaimmista trendit 2012 kehitys on käynnissä CCS3, HTML5. Tänään tarjoamme laajan ja erittäin hyödyllisen yleiskatsauksen esimerkeistä " 20+: luovia ja hyödyllisiä oppitunteja CSS3:sta" tarjotaan päälle SpeckyBoy. Kaikki esimerkit on tehty puhdistaa ilman JavaScriptiä, esitetyt oppitunnit sisältävät demoja ja valmiit tiedostot CSS3 ladattavaksi.

Olemme varmoja, että näistä tekniikoista on hyötyä web-kehittäjille!

css3 oppitunnit :

1. CSS3-valokuvagalleriat, liukusäätimet, tehosteet kuvilla

1.1. CSS3:n liukusäädin

En voi uskoa sitä, mutta tämä liukusäädin erilaisilla tehosteilla on tehty yksinomaan CSS3:ssa, erittäin vaikuttava.

1.2. Tausta koko näytön verkkosivustolle liukusäätimellä CSS3:lla

Web-suunnittelijat ovat kokeilleet erilaisia ​​taustoja sivustolle pitkään, mutta tähän asti puhtaalla CSS:llä ei saatu aikaiseksi, vaan oli käytettävä JS:ää. Nyt CSS3 antaa sinulle mahdollisuuden tehdä sivustosi taustaa haluamallasi tavalla - sinulla voi olla yksi tausta, jossa on suuri, laadukas valokuva, voit vaihtaa useita taustoja erilaisilla tehosteilla ja tausta on skaalautuva näytöstä riippuen parametrit. Yleensä loistava tilaisuus luoville sivustoille.

1.3. Lightbox CSS3:lla

Tämän opetusohjelman avulla voit oppia luomaan Lightboxin erilaisilla tehosteilla puhtaan CSS:n avulla.

1.4. Kuvan ominaisuudet CSS3:ssa

Tämä opetusohjelma esittelee CSS3:n uusia ominaisuuksia kuvan ominaisuuksille, kuten pyöristetyt kulmat, varjot ja muut tehosteet.

1.5. Animoitu banneri CSS3:lla

1.6. Ladataan paneelia CSS3:ssa

1.7. 3D-nauha CSS3:lla

Katso demo tai lataa CSS3-kooditiedostoja →

2. CSS3-valikot, navigointi ja painikkeet

2.1. Apple.com-valikko CSS3:ssa

Opastus kuuluisan Apple.com-valikon luomiseen CSS3:ssa.

2.2. Animoitu vaakasuuntainen valikko CSS3:ssa

Yksinkertainen opetusohjelma, joka näyttää kuinka luoda animoitu valikko CSS3:ssa erilaisilla tehosteilla.

2.3. Animoitu pystysuora valikko CSS3:lla

2.4. Animoidut painikkeet CSS3:lla

Upea opetusohjelma, jossa on 7 esimerkkiä animoiduista luovista painikkeista.

2.5. Luova animoitu valikko kuvilla CSS3:lla

Tällä oppitunnilla esitetyt 10 esimerkkiä ovat yksinkertaisesti silmiä avaavia. Tällaisia ​​monimutkaisia ​​luovia valikoita luotiin aiemmin yksinomaan JS:llä. Vaikuttava!

2.6. Circle Navigation Effect CSS3:lla

Epätavallinen efekti vietäessä hiiren osoitin valitun navigointikohteen päälle ympyrän muodossa, jossa on kuva. Ota huomioon!

2.7. CSS3:n avattava valikko

Opastus yksinkertaisen alatasojen sisältävän pudotusvalikon toteuttamiseksi CSS3:ssa.

2.8. CSS3-navigointi animoiduilla siirtymillä

3. Erilaisia ​​tehosteita CSS3:ssa

3.1. Animoitu työkaluvinkki CSS3:ssa ilman jQueryä

Verkkoteknologioiden ja nykyaikaisten selainten kehityksen ansiosta voimme luoda monia tehosteita ilman Javascriptiä. Tämä on helpottanut verkkokehittäjien elämää huomattavasti. Koska nyt voimme luoda tehosteita puhtaalla CSS:llä ilman Javascriptiä. Siksi tässä artikkelissa haluan kertoa sinulle, onko mahdollista luoda bannereita puhtaalla CSS:llä, mitä tähän tarvitaan, sekä tämän lähestymistavan eduista ja haitoista.

CSS3 tarjoaa laajan valikoiman mahdollisuuksia, sinun tarvitsee vain käyttää niitä oikein. Esimerkkinä haluaisin tarjota linkkejä aikaisempiin töihini "Hahmot Pure CSS:ssä":

Ensinnäkin haluan antaa esimerkkejä CSS-bannereistani. Olet ehkä jo nähnyt ne sivustolla, mutta et edes tiennyt mitä ja miten ne on luotu.

Tietoja demosta: Jokaisen esimerkin (bannerin) alareunassa on kesto sekunneissa sekä "Päivitä"-painike, joka aloittaa bannerin näyttämisen alusta.

Banneri #1 — "Yksittäinen koulutus verkkosivujen rakentamiseen":

Tein tätä banneria noin 2 päivää. Miksi niin kauan? Koska bannerin mukauttaminen (kuminen) kesti jonkin aikaa koordinaatteja laskettaessa. Tällä hetkellä sen koko riippuu ylälohkon leveydestä (joka sisältää itse CSS-bannerin).

Tein tämän bannerin kirjaimellisesti 2-2,5 tunnissa. Ainoa asia, joka hidasti luomisprosessia, oli kuvakkeiden valinta. Koska ne piti valita läheltä bannerin teemaa.

Tämä banneri myös venyy riippuen sen lohkosäiliön leveydestä, jossa se sijaitsee. Luomiseen meni noin 1,5 tuntia.

Nämä bannerit näyttävät erittäin hyviltä, ​​mutta onko se todella niin yksinkertaista? Katsotaanpa tämän bannerien luontimenetelmän etuja ja haittoja.

CSS-bannerien edut ja haitat:

Kuinka luoda CSS-banneri?

1 Idea

Ensinnäkin sinun on tiedettävä tarkalleen, mitä animaatiota bannerissa tulisi olla (mitä, minne ja mistä sen pitäisi liikkua ja missä sen pitäisi näkyä). Voit ottaa A4-arkin ja piirtää mihin kukin elementti liikkuu ja mitä bannerissa pitäisi olla.

Loppujen lopuksi et voi aloittaa bannerin luomista, jos et tiedä mitä sen pitäisi olla ja miten se toimii.

2 HTML-rakenne

Seuraava askel on luoda HTML-merkintä, jotta elementtejä voidaan siirtää (ja luoda niille animaatio). Eli kaikkea ei voi tehdä yhdellä kuvalla, joka liikkuu oikealta tai vasemmalta ja animaatio on valmis.

Tyypillisesti on yksi yhteinen lohko, jossa kaikki muut sijaitsevat. Ja tässä yleislohkossa voimme hallita elementtejä tarpeen mukaan.

3 CSS-animaatio

Viimeinen vaihe on luoda lohkoille animaatioita sekä kirjoittaa niille tyylejä, koska jotkin animaation osat ovat oletuksena piilossa.

Jotta voit luoda oman bannerin, sinulla on oltava hyvä käsitys CSS:n ja HTML:n perusteista.

Opi perus CSS-animaatio tämän opetusohjelman avulla - .

Johtopäätös

Kaikki nykyaikaiset selaimet tukevat CSS3-ominaisuuksia, mikä tarkoittaa, että bannerit näkyvät oikein tällaisissa selaimissa. Mutta JS-laajennusten avulla voit luoda CSS-bannereita vanhemmille selaimille. Oppimalla CSS-animoinnin perusteet ymmärrät bannerin luomisprosessin ja luot pian ensimmäisen puhtaan CSS-bannerisi! 😉

Tehdään mainosbanneri CSS3:lla. Tällä hetkellä vain CSS3-animaatioita tuetaan täysin Firefox selaimet ja WebKit. Mutta se on tarpeeksi helppoa saada banneri toimimaan muissa selaimissa. Älä kuitenkaan odota erinomaista suorituskykyä kaikkialla (etenkin IE 7:ssä ja sitä vanhemmissa), kun kokeilet uusimpia CSS-tekniikoita.

Huomautus: Sivun tilan säästämiseksi kaikki selaimen valmistajan etuliitteet on jätetty pois. Katso koodi lähteistä.

HTML-merkintä

Katsotaanpa ensin HTML-bannerin rakennetta. Tässä vaiheessa meidän on kuviteltava, kuinka animaatio toimii:

Kadonnut?

Rentoudu - me autamme.

Jos haluat ymmärtää merkintärakenteen syvemmälle, keskitytään veneeseen:

Veneessä tapahtuu kolme animaatiota:

    Vene luistaa vasemmalla. Koskee järjestämätöntä luetteloa (ryhmää).

    Vedessä keinuvan veneen jäljitelmä. Koskee luettelokohdetta (vene).

    Kysymysmerkin esiintyminen. Koskee div-elementtiä (kysymysmerkki).

Jos katsot esittelysivua, näet, että luettelokohteen (vene) animaatio vaikuttaa myös sen sisällä olevaan div-elementtiin (kysymysmerkki). Myös järjestämättömän luettelon "liukuva ulos" -animaatio toimii luettelokohdassa (vene ja kysymysmerkki).

Tästä syystä voimme päätellä, että lapsielementit saavat animaatioita vanhemmiltaan omien toimiensa lisäksi. Nyt ei jää enää muuta kuin luetella vanhempi/lapsi-rakenteet.

CSS

Ennen kuin aloitat animaation luomisen analysoinnin, sinun on varmistettava taaksepäin yhteensopiva vanhemmilla selaimilla.

Taaksepäin yhteensopivuus

Varmistamme taaksepäin yhteensopivuuden muokkaamalla merkinnät ikään kuin CSS-animaatioita ei olisi ollenkaan. Jos joku katselee sivua vanhalla selaimella, hän näkee tavallisen staattisen kuvan, ei tyhjää välilyöntiä.

Esimerkiksi: entä jos käytät CSS:ää? samanlaisia ​​kuin alla, tulee ongelmia:

/* VÄÄRIN! */ @keyframe our-fade-in-animation ( 0% (opasiteetti:0;) 100% (opasiteetti:1;) ) div ( opacity: 0; /* Tämä div on oletuksena piilotettu - hups! */ animaatio: meidän -fade-in-animaatiomme 1s 1 )

Jos selain ei tue animaatioita, div-elementti jää käyttäjälle näkymättömäksi.

Ja näin varmistamme taaksepäin yhteensopivuuden vanhempien selainten kanssa:

/* TOSI */ @keyframe meidän-fade-in-animation ( 0% (opasiteetti:0;) 100% (opasiteetti:1;) ) div ( opasiteetti: 1; /* Tämä div on näkyvissä oletuksena */ animaatio: meidän -fade-in-animaatiomme 1s 1 )

Nyt div-elementti näytetään, vaikka animaatio ei käynnistyisikään. Ja sisään nykyaikaiset selaimet Div piilotetaan ensin animaation aikana.

Loimi

Nyt tiedämme kuinka varmistaa taaksepäin yhteensopivuus (mikä auttaa välttämään ongelmia työskennellessään oikeiden projektien kanssa). On aika luoda CSS-koodimme perusta.

Sinun on muistettava 3 kohtaa:

    Koska banneria käytetään eri sivustoilla, teemme parhaamme CSS-valitsimet erityistä. Ne kaikki alkavat tunnisteella #ad-1. Tällä tavalla yritämme välttää päällekkäisyyttä koodimme ja sivustokoodin välillä.

    Olemme tarkoituksella jättäneet huomioimatta animaation viiveen asennuksissa. Jos käytät animaatioviivettä asettaessasi tyylejä elementtien oletusnäkyvyydellä, bannerirakenne häiriintyy kuvan osien äkillisen katoamisen tai ilmestymisen vuoksi animaation valmistumisen jälkeen. Animaatioviivettä simuloidaan kehysten kestolla ja asetuksella.

    Aina kun mahdollista Käytämme yhtä animaatiota useille elementeille. Näin säästämme aikaa ja pienennämme koodin kokoa.

Luodaan siis perusta bannerillemme. Asetetaan sille suhteellinen sijainti, jotta sisäiset elementit voidaan sijoittaa oikein. Piilottaa myös kaiken elementin laajuuden ulkopuolella:

#ad-1 (leveys: 720px; korkeus: 300px; float: vasen; marginaali: 40px automaattinen 0; taustakuva: url(../images/ad-1/background.png); taustan sijainti: keskellä; tausta -toisto: ei toistoa: piilotettu ruutuvarjo: 0px 6px #000;

Sitten asetamme tyylit teksti- ja syöttökentille. Kutsu sopivia animaatioita. Sinun on myös varmistettava, että sisällöllä on korkein z-indeksi liikkuville osille, jotta ne eivät mene päällekkäin:

#ad-1 #content ( leveys: 325px; float: oikea; marginaali: 40px; tekstin tasaus: keskellä; z-indeksi: 4; sijainti: suhteellinen; ylivuoto: näkyvä; ) #ad-1 h2 ( font-family: "Alfa Slab One", kursiivi: #137dd5:n tekstin korkeus: 0px 4px #fff: 1 easy-in-out; viive */ ) #ad-1 h3 ( kirjasinperhe: "Boogaloo", kursiivinen; väri: #202224; fontin koko: 31px; rivin korkeus: 31px; tekstin varjo: 0px 0px 4px #fff; animaatio: viivästetty -fade-animaatio 10s 1 helpotus sisään /* H3:n ulkoasu simuloidulla viiveellä -out; /* Liu'utetaan lomake sähköpostiosoitteen syöttämistä varten simuloidulla viiveellä */ ) #ad-1 #email (leveys: 158px; korkeus: 48px; float: vasen; täyttö: 0 20px; font-size: 16px; kirjasinperhe: "Lucida Grande", ilman varjoa: 1px 1px 0px #a2917d reunus-vasen-säde: 5px;

border: 1px solid #a2917d;

#ad-1 ul#water( /* Jos tarvitset vedelle toisen animaation, voit lisätä sen tähän */ ) #ad-1 li#water-back ( leveys: 1200px; korkeus: 84px; taustakuva: url( .. /images/ad-1/water-back.png: z-indeksi: absoluuttinen: -20px; #ad-1 li#water-front ( leveys: 1200px; korkeus: 158px; background-image: url(../images/ad-1/water-front .png); background-repeat: z-index: 3; pohja: -70px animaatio: 2s ääretön aaltojen roiskuminen. Animaatio suoritetaan hieman nopeammin perspektiivivaikutelman luomiseksi.

Asetetaan tyylit veneelle ja sen elementeille. Kutsumme myös vastaavia animaatioita:

#ad-1 ul#boat (leveys: 249px; korkeus: 215px; z-indeksi: 2; sijainti: absoluuttinen; pohja: 25px; vasen: 20px; ylivuoto: näkyvä; animaatio: vene animaatiossa 3s 1 helpotus ; /* Liu'uttaa ryhmän mainoksen alkaessa */ ) #ad-1 ul#boat li ( leveys: 249px; korkeus: 215px; background-image: url(../images/ad-1/boat.png); sijainti: absoluuttinen pohja: näkyvä animaatio 2s infinite easy-out /* Simuloi vedessä jo käytettyä animaatiota; ad-1 #question-mark (leveys: 24px; korkeus: 50px; taustakuva: url(../images/ad-1/question-mark.png); sijainti: absoluuttinen; oikea: 34px; ylhäällä: -30px animaatio: delayed-fade-animation 4s 1 help-in-out /* Häivytys kysymysmerkissä */ )

Luodaan nyt tyylejä pilville. Heille käytämme animaatiota loputtoman liikkeen vaikutuksella. Kuva osoittaa idean olemuksen:

Ja tässä on CSS-koodi:

#ad-1 #pilvet ( sijainti: absoluuttinen; ylhäällä: 0px; z-indeksi: 0; animaatio: pilvi-animaatio 30s ääretön lineaarinen; /* Vieritä pilviä vasemmalle, nollaa ja toista */ ) #ad-1 # cloud-group -1 (leveys:720px; sijainti: absoluuttinen; vasen:0px; ) #ad-1 #cloud-group-2 (leveys: 720px; sijainti: absoluuttinen; vasen: 720px; ) #ad-1 .cloud- 1 ( leveys: 172px; korkeus: 121px; url(../images/ad-1/cloud-1.png); sijainti: absoluuttinen huippu: 40px; (leveys: 121px; korkeus: 75px; taustakuva: url() ../images/ad-1/cloud-2.png: absoluuttinen: -25px ) #ad-1 (leveys: 132px; background-image); : url(../images/ad-1/cloud-3.png: absoluuttinen: -5px;

Animaatiot

Muistutus: Tästä eteenpäin mikään ei ole todellisuudessa animoitua. Jos katsot banneriamme nyt, näet staattisen kuvan. Täällä animaatiot luodaan ja niitä kutsutaan yllä olevassa koodissa.

Hengitetään nyt elämää kauniiseen staattiseen kuvaamme:

/* Simuloitua viiveanimaatiota käytetään useiden elementtien näyttämiseen. Viiveen simulointi suoritetaan käynnistämällä prosessi niin, että 80 % animaatiosta jatkuu (eikä heti). Tällä tavalla voit simuloida mitä tahansa viivettä: */ @keyframes delayed-fade-animation ( 0% (opasiteetti: 0;) 80% (opasiteetti: 0;) 100% (opasiteetti: 1;) ) /* Animaatio lomakkeen näyttämiseen sähköpostiosoitteella ja painikkeella. Viiveen jäljitelmää käytetään myös */ @keyframes muoto-animaatio ( 0% (opasiteetti: 0; oikea: -400px;) 90% (opasiteetti: 0; oikea: -400px;) 95% (opasiteetti: 0,5; oikea: 20px ;) 100% (opasiteetti: 1; oikea: 0px;) ) /* Tätä animaatiota käytetään tuomaan vene pois näytöltä videon alussa: */ @keyframes boat-in-animation ( 0% (vasemmalla: -200px;) 100% (vasen : 20px;) ) /* Pilvien animaatio. Ensimmäinen pilviryhmä alkaa liikkua keskeltä ja toinen - näytön oikealle puolelle. Ensimmäinen ryhmä poistetaan hitaasti näytöltä, ja toinen näkyy oikealla. Kun vasen ryhmä on kokonaan piilotettu, pilvet palaavat hyvin nopeasti alkuperäiseen paikkaansa: */ @keyframes cloud-animation ( 0% (vasen: 0px;) 99.9999% (vasen: -720px;) 100% (vasen: 0px;) ) ) / * Kolme viimeistä animaatiota ovat lähes samat - ero on elementtien sijoittelussa. Ne simuloivat valtameren aaltojen roiskumista: */ @keyframes veneanimaatio ( 0 % (ala: 0px; vasen: 0px;) 25 % (ala: -2px; vasen: -2px;) 70% (ala: 2px; vasen : - 4px;) 100% (ala: -1px; vasen: 0px;) ) @keyframes Water-back-animaatio ( 0% (ala: 10px; vasen: -20px;) 25% (ala: 8px; vasen: - 22 pikseliä ;) 25% (ala: -68px; vasen: -32px;) 70% (ala: -72px; vasen: -34px;) 100% (ala: -69px; vasen: -30px;) )

Johtopäätös

Tällä oppitunnilla opimme useita keskeisiä käsitteitä:

  1. Perijäelementit saavat omien animaatioidensa lisäksi vanhempiensa animaatioita.
  2. Kun luot banneria, sinun tulee pyrkiä käyttämään yksilöllistä tunnistetta, jotta vältytään päällekkäiseltä koodilta olemassa olevan CSS-projektin kanssa.
  3. Elementtien sijainti ja tyyli tulee valita ikään kuin animaatiota ei olisi saatavilla taaksepäin yhteensopivuuden varmistamiseksi.
  4. Jos mahdollista, sinun tulee käyttää yhtä animaatiota useille elementeille.

Tänään aiomme luoda bannerin käyttämällä CSS3-animaatiota.

Tällä hetkellä vain Firefox- ja WebKit-selaimet tukevat CSS-animaatioita, mutta tarkastelemme, kuinka voimme saada nämä bannerit toimimaan myös muissa selaimissa (jota kutsun 1700-luvun selaimiksi). Sinun ei kuitenkaan pitäisi odottaa suurta tukea kaikissa selaimissa (etenkin IE 7:ssä ja sitä vanhemmissa), kun kokeilet moderneja CSS-tekniikoita.

Luodaan siis animoituja bannereita!

Huomaa: Tilan säästämiseksi kaikki selaimen etuliitteet on poistettu. cm. lähdetiedostot nähdäksesi kaikki CSS-koodit. Jos et ole perehtynyt CSS-animaatioihin, suosittelenensinnäkinlue tämä.

HTML-merkintä

Ensin luodaan bannerirakenne HTML:n avulla. Tässä vaiheessa meidän on mietittävä, miten haluamme animaatiomme toimivan – miten se vaikuttaa ala- ja vanhempi-elementteihin merkintöjemme rakenteessa (selitän tämän alla):



> Eksynyt mereen? >
> Rentoudu - meillä on peräsimesi. >
>


>
>


  • >
  • >
  • >
    >

    • >
    • >
    • >
      >
      >

        >
        >
        >
        >

        • >
        • >
          >
          >

          Ymmärtääksemme merkintöjemme rakenteen, keskitytään hetkeksi veneeseen:


            >
            >
            >
            >

            Katsotaanpa nyt esittelysivun ensimmäistä banneria. Aluksella on kolme erillistä animaatiota:

            • Animaatio - kun vene liukuu vasemmalla puolella. Tämä koskee suoraan järjestämätöntä luetteloa (ryhmä veneen elementtejä).
            • Animaatio – joka antaa veneelle keinuvan vaikutelman, simuloi vedessä kelluvaa venettä. Tämä koskee suoraan luettelon kohteita (vene).
            • Animaatio - joka piilottaa kysymysmerkin. Tämä koskee div (kysymysmerkkiä).

            Jos et kärsi merisairaudesta, katso demosivu uudelleen. Näet, että luettelokohteeseen (veneeseen) lisätty animaatio, joka saa veneen nousemaan, vaikuttaa myös sen sisällä olevaan DIV:iin (kysymysmerkillä). Lisäksi "slide in" -animaatio, jota sovelletaan järjestämättömään luetteloon (ryhmään), vaikuttaa myös listaelementtiin ja sen sisällä oleviin DIV:ihin (vene ja kysymysmerkki). Tämä johtaa meidät tärkeisiin havaintoihin:

            Lapsielementit perivät animaation vanhemmiltaan oman animaationsa lisäksi. Tämä tieto lisätään arsenaaliimme, mutta lapsi/vanhempien elementtien määrä animaatiota luotaessa räjäyttää mielesi (ja isoäitisi kannettavan tietokoneen prosessorin)!

            CSS

            Ennen kuin pääsemme todella mielenkiintoisiin asioihin ja aloitamme animaatioiden luomisen, meidän on vielä luotava tyylejä selaimille, jotka ovat juuttuneet 1700-luvulle.

            Varatyylit vanhemmille selaimille

            Luomme vain varatyylejä ikään kuin CSS-animaatiota ei olisi olemassa (ajatus siitä, että CSS-animaatiota ei ole olemassa, saisi aikuisen miehen paitsi itkemään, myös hirttäytymään viereeni :)). Toisin sanoen, jos animaatiomme ei toimi, bannerin pitäisi silti näyttää kunnolliselta. Tällä tavalla, kun joku katselee banneria vanhalla selaimella, hän näkee tavallisen, staattisen bannerin tyhjän tilan sijaan.

            Esimerkiksi: jos joku käyttää CSS:ää näin, tulee ongelmia:

            /* VÄÄRIN TAPA! */


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

            Div (
            opasiteetti: 0 ; /* Tämä lohko on oletuksena piilotettu!*/

            }

            Jos käyttäjän selain ei tue animaatiota, banneri jää käyttäjälle näkymättömäksi. Ja sitten asiakas murtaa myyjän toimiston oven - moottorisaha käsissään - ja vaatii heitä selittämään hänelle, miksi he eivät myyneet hänen tuotettaan! Ja jos he eivät ymmärrä, että selain voi olla niin säälittävä, heidän elämänsä päättyy kauheasti ja heidän viimeiset sanansa ovat kirouksia Internet Explorer... :)

            Mutta älä huoli, tarjoamme laajennettua selaintukea:

            /* OIKEA TAPA */

            @keyframe meidän-fade-in-animation (
            0 % (opasiteetti: 0; )
            100 % (opasiteetti: 1; )
            }

            Div (
            opasiteetti: 1 ; /* tämä div näkyy oletuksena */
            animaatio: our-fade-in-animation 1s 1 ;
            }

            Kuten näet, DIV näkyy, vaikka animaatio epäonnistuisi. Jos animaatio on toistettavissa, DIV piilotetaan välittömästi ja animaatio toistetaan loppuun asti.

            Nyt kun tiedämme kuinka saada animoidut bannerimme tukemaan vanhempia selaimia, siirrytään perus-CSS:ään.

            On kolme tärkeää asiaa, jotka on pidettävä mielessä:

            • Koska näitä mainoksia voidaan käyttää useilla verkkosivustoilla, teemme kaikista CSS-tyyleistämme erittäin tarkkoja. Aloitamme kunkin valitsimen määrityksen tunnuksella: #ad-1. Tämä estää bannerityylejämme häiritsemästä olemassa olevia tyylejä ja elementtejä.
            • Aiomme olla määrätietoisia ohita animaation viivetoiminto luodessasi animaatiotamme. Jos käyttäisimme elementeillemme animaation viive-ominaisuutta sekä suunnittelua oikea tapa(näkyy oletusarvoisesti), kaikki tämä näkyi näytöllä ennen kuin animaatio vihdoin alkoi toistaa. Tästä syystä animaatio käynnistyy välittömästi, jolloin voimme piilottaa elementtejä näytöltä, kunnes tarvitsemme niitä. Simuloi animaation viivettä lisäämällä kestoa ja manuaaliset asetukset avainkehykset. Näet tästä esimerkkejä, kun alamme luoda animaatioita.
            • Jos mahdollista, Käytä yhtä animaatiota useille elementeille. Tällä tavalla voimme säästää paljon aikaa ja vähentää koodin turvotusta. Voit luoda useita erilaisia ​​tehosteita samaan animaatioon säätämällä kestoa ja siirtymiä.

            Aloitamme siis mainosbannerimme luomisen. Varmistetaan, että sillä on suhteellinen sijainti (sijainti: suhteellinen), jotta sen sisällä olevat elementit voidaan sijoittaa oikein. Meidän on myös varmistettava, että ylivuoto: piilotettu ominaisuus on asetettu piilottamaan kaikki tarpeeton:

            #ad-1 (
            leveys: 720 pikseliä;
            korkeus: 300px;
            kellua: vasen;
            marginaali: 40px auto 0;
            background-image : url (../images/ad-1/background.png );
            tausta-sijainti : keskellä ;
            background-repeat : ei toistoa ;
            ylivuoto: piilotettu;
            asema: suhteellinen;
            box-shadow: 0px 0px 6px #000 ;
            }

            #ad-1 #content (
            leveys: 325px;
            kellua: oikea;
            marginaali: 40px;
            tekstin tasaus: keskellä;
            z-indeksi: 4;
            asema: suhteellinen;
            ylivuoto: näkyvä;
            }
            #ad-1 h2 (
            font-family : "Alfa Slab One" , kursiivinen ;
            väri : #137dd5 ;
            fontin koko: 50px;
            rivin korkeus: 50 pikseliä;

            animaatio: delayed-fade-animation 7s 1 easy-in-out; /* H2 häviää simuloidulla animaatioviiveellä */
            }
            #ad-1 h3 (

            väri : #202224 ;
            fonttikoko: 31px;
            rivin korkeus: 31 kuvapistettä;
            text-shadow : 0px 0px 4px #fff ;
            animaatio: delayed-fade-animation 10s 1 helpotus sisään-ulos; /* H3 häviää simuloidulla animaatioviiveellä */
            }
            #ad-1 lomake (
            marginaali: 30px 0 0 6px;
            asema: suhteellinen;
            animaatio: muoto-animaatio 12s 1 helpotus sisään-ulos; /* Tämä koodi siirtää sähköpostilomakettamme */
            }
            #ad-1 #sähköposti (
            leveys: 158px;
            korkeus: 48px;
            kellua: vasen;
            täyte: 0 20px;
            fontin koko: 16px;
            kirjasinperhe: "Lucida Grande", sans-serif;
            väri : #fff ;
            tekstivarjo : 1px 1px 0px #a2917d ;
            raja-ylä-vasen-säde: 5px ;
            raja-ala-vasen-säde: 5px ;
            reunus : 1px solid #a2917d ;
            ääriviivat: ei mitään;
            box-shadow: -1px -1px 1px #fff ;
            taustaväri : #c7b29b ;
            taustakuva: lineaarinen gradientti (alhaalla, rgb (216, 201, 185) 0%, rgb (199, 178, 155) 100%);
            }
            #ad-1 #email :focus (
            taustakuva: lineaarinen gradientti (pohja, rgb (199, 178, 155) 0%, rgb (199, 178, 155) 100%;

            }
            #ad-1 #lähetä (
            korkeus: 50px;
            kellua: vasen;
            kohdistin: osoitin;
            täyte: 0 20px;
            fonttikoko: 20px;
            font-family : "Boogaloo" , kursiivinen ;
            väri : #137dd5 ;
            tekstivarjo : 1px 1px 0px #fff ;
            reunus-ylä-oikea-säde: 5px ;
            raja-ala-oikea-säde: 5px ;
            reuna : 1px kiinteä #bcc0c4 ;
            raja-vasen : ei mitään ;
            taustaväri : #fff ;
            taustakuva: lineaarinen gradientti (alhaalla, rgb (245, 247, 249) 0%, rgb (255, 255, 255) 100%);
            }
            #ad-1 #submit :hover (
            taustakuva : lineaarinen gradientti (pohja, rgb (255, 255, 255) 0%, rgb (255, 255, 255) 100%);
            }

            Nyt luomme tyylejä vesille ja kutsumme vastaavaa animaatiota:

            #ad-1 ul#vesi (
            /* Jos halutaan lisätä vesille toinen animaatio (esimerkiksi vaakasuoraan liikkuva), voisimme tehdä sen täällä */
            }
            #ad-1 li#water-back (
            leveys: 1200px;
            korkeus: 84px;
            background-image : url (../images/ad-1/water-back.png );

            z-indeksi: 1;
            sijainti: absoluuttinen;
            alaosa: 10px;
            vasen : -20px ;
            animaatio: vesi-takaisin-animaatio 3s ääretön helppous sisään-ulos; /* Vettä pomppiva vaikutus */
            }
            #ad-1 li#water-front (
            leveys: 1200px;
            korkeus: 158px;
            taustakuva : url ( ../images/ad-1/water-front.png) ;
            background-repeat : toista-x ;
            z-indeksi: 3;
            sijainti: absoluuttinen;
            alaosa: -70px ;
            vasen: -30px;
            animaatio: Water-front-animation 2s ääretön helppous sisään-ulos; /* Toinen vettä pomppiva vaikutus - tämä on hieman erilainen. Teemme tästä animaatiosta hieman nopeamman perspektiivin luomiseksi. */
            }

            Nyt luodaan tyylit veneelle ja kaikille sen elementeille. Kutsumme jälleen sopivaa animaatiota:

            #ad-1 ul#vene (
            leveys: 249 pikseliä;
            korkeus: 215px;
            z-indeksi: 2;
            sijainti: absoluuttinen;
            alaosa: 25px;
            vasen: 20px;
            ylivuoto: näkyvä;
            animaatio: boat-in-animation 3s 1 helpotus; /* Siirrä ryhmä alkuun */
            }
            #ad-1 ul#boat li (
            leveys: 249 pikseliä;
            korkeus: 215px;
            background-image : url (../images/ad-1/boat.png );
            sijainti: absoluuttinen;
            alaosa: 0px;
            vasen: 0px;
            ylivuoto: näkyvä;
            animaatio: vene-animaatio 2s ääretön helppous sisään-ulos; /* Vedessä keinuvan veneen jäljitelmä – samanlaista animaatiota käytetään jo itse vedessä. */
            }
            #ad-1 #kysymysmerkki (
            leveys: 24px;
            korkeus: 50px;
            taustakuva : url ( ../images/ad-1/question-mark.png) ;
            sijainti: absoluuttinen;
            oikea: 34px;
            yläosa: -30px;
            animaatio: delayed-fade-animation 4s 1 helpotus sisään-ulos; /* Piilossa kysymysmerkki */
            }

            Lopuksi luomme tyylejä pilviryhmälle ja yhdelle pilvelle. Käynnistämme myös melko siistin animaation, joka antaa heille jatkuvan vieritysvaikutelman. Tässä on esimerkki siitä, mitä tapahtuu:

            Nämä ovat tyylit:

            #ad-1 #pilvet (
            sijainti: absoluuttinen;
            yläreuna: 0px;
            z-indeksi: 0;
            animaatio: pilvi-animaatio 30s ääretön lineaarinen; /* Siirrä pilviä vasemmalle, äärettömän monta kertaa */
            }
            #ad-1 #pilviryhmä-1 (
            leveys: 720 pikseliä;
            sijainti: absoluuttinen;
            vasen: 0px;
            }
            #ad-1 #pilviryhmä-2 (
            leveys: 720 pikseliä;
            sijainti: absoluuttinen;
            vasen: 720px;
            }
            #ad-1 .pilvi-1 (
            leveys: 172px;
            korkeus: 121px;
            taustakuva : url (../images/ad-1 /cloud-1 .png);
            sijainti: absoluuttinen;
            yläreuna: 10px;
            vasen: 40px;
            }
            #ad-1 .pilvi-2 (
            leveys: 121px;
            korkeus: 75px;
            background-image : url (../images/ad-1 /cloud-2 .png) ;
            sijainti: absoluuttinen;
            yläosa: -25px;
            vasen: 300px;
            }
            #ad-1 .pilvi-3 (
            leveys: 132px;
            korkeus: 105px;
            background-image : url (../images/ad-1 /cloud-3 .png) ;
            sijainti: absoluuttinen;
            yläosa: -5px;
            vasen: 530px;
            }

            Ufff! Siellä oli paljon CSS-koodia. Mutta mielenkiintoisin asia on seuraava!

            Animaatio

            Muista: tähän hetkeen asti ei ollut varsinaista animaatiota. Jos katsoisit banneria nyt, näkisit mitä jopa vanha selain- staattinen mainos. KANSSAnytitse asiassa luomme animaation, jota olemme jo kutsuneet CSS-koodissamme.

            Nyt kun bannerimme näkyy hyvin, herätetään tämä staattinen mainos henkiin! Siirrytään suoraan koodiin - kerron sinulle kommenteissa, mitä tapahtuu:

            Johtopäätös

            Tämän opetusohjelman aikana opimme vanhempia selaimia tukevien animaatioiden luomisen avainkohdat:

            1. Lapsielementit perivät oman animaationsa lisäksi vanhempiensa animaation. Voimme käyttää tätä monimutkaisempien animaatioiden luomiseen.
            2. Meidän on käytettävä mainostyyleissämme erittäin tarkkoja valitsimia, jotta muut sivustotyylit eivät ohita mainoksiamme.
            3. Elementeille on asetettava tyylit sellaisiksi, että jos animaatiomme ei toimi, mainoksen tulee silti näyttää kunnolliselta.
            4. Aina kun mahdollista, käytä yhtä animaatiota useille elementeille - säästämme aikaa ja estämme koodin leviämisen.
            5. Kutsumme Internet Exploreria usein "1700-luvun selaimeksi" ja pudistelemme nyrkkejämme inhossa ja vihassa. :)

            Onnea CSS-kokeiluihisi.

            Responsiivinen web-suunnittelu on merkittävä edistysaskel koko Internetissä. Meitä ei enää rajoita vanhentunut "painetun sivun" malli, jossa staattinen sisältö on jaettu kiinteän kokoisiin alueisiin. Nykyään Internet pystyy elämään, hengittämään ja sopeutumaan täyttäen kaiken näytöillä olevan tilan erilaisia ​​laitteita, alkaen matkapuhelimia- ja jopa suuria videonäyttöjä. Tämä on World Wide Webin tarkoitus.

            Mutta on pieni ongelma. Verkkosivustot sisältävät usein bannerimainoksia ja perinteisiä bannereita, jotka eivät ole kovin joustavia. Sekä flash- että GIF-bannereilla on kiinteä koko, minkä vuoksi ne eivät ole yhteensopivia nykyaikaisen mukautuvan asettelun kanssa. Tarvitsemme uuden menetelmän bannerimainosten luomiseen. Tarvitsemme mukautuvia bannereita...

            Uusi bannerimuoto

            Ainoa tapa tehdä bannerista yhtä joustava kuin merkintämme on kirjoittaa se HTML5:llä. Aluksi tämä saattaa tuntua hullulta idealta, mutta vakuutan teille, että se ei ole sitä. Itse asiassa tällä lähestymistavalla on monia etuja:

            • HTML-mainonta on saatavilla kaikkialla, ja semanttinen merkintä tekee siitä sopivan näytönlukuohjelmille;
            • tekstiä, kuvia, videoita, käsikirjoituksia ja lomakkeita - kaikkea tätä voidaan käyttää bannerissa aivan kuten millä tahansa verkkosivulla;
            • tarvittaessa bannerit voivat käyttää dynaamisia komentosarjoja ja palvelinpuolen tietokantoja;
            • Banneriin voidaan tehdä muutoksia sen julkaisun jälkeen.;
            • HTML-bannerin tiedosto (tiedostojoukko) voi olla hyvin vaatimaton;
            • bannerin näyttäminen perustuu lähinnä web-hostingiin;
            • verkkokehittäjien ei tarvitse oppia mitään uutta- kaikki teknologiat pysyvät samoina kuin perinteisessä verkkokehityksessä;
            • ja tietysti CSS3-mediakyselyillä voit saada HTML5-mainokset "sopeutumaan" mihin tahansa kokoon- Loppujen lopuksi tämä on juuri sitä käyttäytymistä, jota odotamme mukautuvilta bannereilta!

            Miten tämä voidaan saavuttaa?

            Ensin banneri luodaan kumiseksi HTML5-sivuksi. Täytämme sen tekstillä, kuvilla, linkeillä halutulle sivulle ja koristelemme tämän kaiken CSS3:lla. Toiseksi tällainen banneri voidaan sijoittaa mille tahansa verkkosivustolle kelluvan avulla iframe. On olemassa temppu, joka käyttää CSS3-mediakyselyitä iframen mittojen tekemiseen dynaamiseksi, ja puhun siitä pian... Kuitenkin suurimmaksi osaksi se on siinä!

© 2024 ermake.ru - Tietoja PC-korjauksesta - Tietoportaali