Homepage » Coding » CSS-Csak kép létrehozása, amely az átlátszó szegélyekkel járó hatást felfedi

    CSS-Csak kép létrehozása, amely az átlátszó szegélyekkel járó hatást felfedi

    A A CSS-re vonatkozó kép hatását mutatja megoldható különböző módon. Valójában nagyon könnyű egy olyan kódot kódolni, amelyben a a kép kiemelkedik (a túlcsordult) szilárd hátterét -te csak helyezzen egy képet egy kisebb, szilárd háttérrel rendelkező elem felett.

    Ugyanez az eredmény akkor érhető el, ha használja átlátható határok, hol tartod a háttérelem mérete azonos mint az előtér, és átlátható határokat adnak hozzá annak érdekében, hogy hozzon létre egy üres helyet az előtér túlcsordul.

    Vannak az utóbbi módszer alkalmazásának bizonyos előnyei. Mivel ez az átlátszó határok, amelyek az előtér számára lehetővé teszik a túlcsordulás területét szabályozza a túlfolyás irányát bal, jobb, felső és alsó határ között. Ugyancsak azonos méretű az előtér és a háttér megkönnyíti a két elem egyidejű mozgatását az oldalon.

    Dióhéjban meglátjuk, hogyan kell hozzon létre egy CSS-alapú képet, amely felfedi a hatást használva kisebb szilárd háttér val,-vel az előtér képe, amely átlátszó határt tartalmaz. Megnézheti a végső demó lent.

    1. Hozza létre a kezdeti kódot

    HTML-bölcs, csak egy

    szükséges:

     

    A CSS-ben használjuk két CSS változó, --bgc és --homályos a háttérszín és a méretek a .ize konténer. A példában a azonos értéket hogy a szélesség és a magasság egy négyzet alakú dobozhoz hozzon létre külön változók a szélességhez és a szélességhez, ha téglalap alakú.

    Mi is hozzáadjuk a position: relative szabály .ize, úgy, hogy a pszeudo-elemei, amiket használni fogunk feltárja a képet, lehet teljesen elhelyezve (lásd alább), és így egymásra rakják.

     .foo --bgc: # FFCC03; --dim: 300px; szélesség: var (- dim); magasság: var (- dim); háttérszín: var (- bgc); pozíció: relatív;  

    Mi adjunk hozzá egy üreset tartalom ingatlan mindkét pszeudo-elemhez, .ize :: előtt és .ize :: után, hogy rendesen tegyék őket.

     .foo :: before, .foo :: után content: "; pozíció: abszolút; bal: 0; top: 0; 

    A .ize elem, két pszeudo-eleme, .ize :: előtt, .ize :: után, és az övék :lebeg pszeudo-osztályok kap egy átmenet ingatlan az fog adjunk hozzá egy könnyed átmenetet 500 milliszekundumig (fél másodperc).

     .foo, .foo: hover, .foo :: előtte, .foo :: after, .foo: hover :: before, .foo: hover :: után átmenet: transzformálja 500 ms-os egyszerűsítést;  

    2. Adja hozzá a képet

    Hozzáadjuk a képet a .ize :: előtt pszeudoelem háttérképként, és méretét úgy, hogy lefedje az egész pszeudoelemet a ... val szélesség és magasság tulajdonságait. Mi halom a jobb alatta .ize elem használni a z-index: -1 szabály.

     .foo :: előtt szélesség: 100%; magasság: 100%; háttér: url (camel.png) központ / fedél; z-index: -1;  

    A központ kulcsszó központosítja a képet, amíg a borító a kulcsszó mérlegeli a képet fedezze a teljes elemet megtartva a képarányt.

    A az alábbi képernyőkép láthatod, amit eddig (z-index eltávolítva .ize :: előtt úgy, hogy látható legyen):

    3. Adja hozzá a csúszkát

    A a kép mögött kisebb (csúszó) háttér, a másik ál-elemet fogjuk használni, .ize :: után.

    Egy másik CSS változót hozunk létre, --b, a határ szélessége. Adunk három átlátszó határ hoz ::után pseudo-elem: felső, jobb és alsó.

     .foo :: --b: 20px után; szélesség: Calc (100% - var (- b)); magasság: számított (100% - számított (var (- b) * 2)); határ: var (- b) szilárd átlátszó; szegéllyel: nincs; box-shadow: betét 0 var (- dim) 0 var (- bgc); szűrő: fényerő (.8); z-index: -2;  

    A szélesség számítása: Calc (100% - var - b)) ez visszatér a teljes szélessége .ize mínusz a vízszintes határok teljes szélessége (csak jobb oldali szegély, mivel nincs bal oldali határ).

    A magasság számítása: Calc (100% - számított (var (- b) * 2)) ez visszatér a teljes magassága .ize mínusz a függőleges határainak teljes szélessége (felső és alsó határok).

    A ... val box-shadow vagyunk, mi is adjunk hozzá egy vízszintes árnyékot azonos méretű .ize (ami var (- dim)).

    Egy CSS szűrő fényerő (.8) sötétíti a háttérszínt egy kicsit, és végül a z-index: -2 szabály elhelyezi a ::után pszeudo-elem alatt ::előtt amely a képet tartalmazza.

    Itt van a demó képernyőképe eddig (a z-index mindkét pszeudo-elemből eltávolították őket, így láthatók):

    4. Adja hozzá az átalakítást

    Mi adja hozzá a átalakít ingatlan a két pszeudo-elemhez, így amikor a felhasználó áthalad .ize, mindkét pszeudoelem vízszintesen mozgott.

    Mint mi már hozzáadta a átmenet minden elemre az 1. lépés végén a kép mozgása és háttere mindkettő animált.

     .foo: hover :: before, .foo: hover :: után transzformáció: translateX (100%);  

    Az alábbiakban látható a végső demó.

    Bónusz: Opcionális árrés

    Ha megjelenik .ize más elemek mellett az oldalon, és szeretné, hogy ezek a többi elem menj arrébb akkor, amikor a kép és a háttere kicsúszik adjunk hozzá egy ugyanolyan széles szélességű margót .ize hoz .ize: hover elem.

     .foo: hover margin-right: var (- dim);