Homepage » Coding » A CSS-csak a Box-Shadow hatását fedi le

    A CSS-csak a Box-Shadow hatását fedi le

    Tartalom átfedések a modern web design kiemelkedő része. Segítenek neked elrejteni egy elemet egy weboldalon, és később - a felhasználó jóváhagyásával - felfedje azt, és további információkat vagy vezérlőket jeleníthet meg, például a gombok mögött található gombokat.

    Egy tipikus fedvény félig átlátszó, val,-vel szilárd háttérszín (általában fekete), és vannak olyan szövegek vagy gombok, amellyel a felhasználók láthatják vagy kommunikálhatnak. Miután az interakció (kattintás vagy lebegés) bekövetkezik, az átfedés megszűnik és feltárja a tartalmat alatta.

    Ebben a cikkben megnézzük, hogyan színes képeket adjon hozzá a képekhez tiszta CSS használatával. Az alábbi demó végeredményét láthatja. Vigye a képeket, hogy a fedvények feltárják a pokemont. Bár ez a hozzászólás a képeket tárgyalja, a bemutatott technikát biztonságosan alkalmazhatja más tartalomtípusokra (például szövegblokkokra) is.

    Kerülje az extra HTML elemek hozzáadását

    Az átfedéseket gyakran hozza létre egy extra HTML elem elhelyezése egy valamivel átlátszatlanság értéke kevesebb, mint 1 jobbra a fedett elem felett. A probléma az, hogy ez a technika egy külön- elem (vagy pszeudo-elem).

    Ha nem egy HTML méretű pedantikus, akkor az overlay-nek egy extra eleme valószínűleg nem nagy dolog, mivel valószínűleg nem fog sokat fizetni a hálózat sávszélességét. Ennek ellenére különálló az elemek és azok átfedéseinek stílusszabályai még mindig károsítják a CSS olvashatóságát és karbantarthatóságát.

    Ahhoz, hogy a kódot rendben tartsuk, és ne keverjük el a HTML vázlatot, jobb választás a CSS-alapú megoldás használatára.

    Átfedés létrehozása box-shadow

    Szóval hogyan lehet ténylegesen létrehozni egy CSS-alapú fedést? A box-shadow CSS tulajdonság. A doboz-árnyék tökéletes ehhez a munkához, hiszen ez egy overlay, de egy sötét árnyék egy elem felett?

    A doboz-árnyéknak van egy tulajdonság értéke betétlap, ami az árnyék megjelenését okozza a doboz keretének befelé.

    Az elem szélességének és szélességének fele vagy több fele árnyékméretű árnyékoló árnyékot hoz létre lefedi a teljes elem.

     .doboz szélesség: 200px; magasság: 200px; doboz-árnyék: zöld 0 0 0 100px betét;  
    A teljes elemet lefedő doboz árnyéka

    Mivel általában lefedik némi átláthatósággal, hozzá kell adnia a doboz árnyékához is. Ezt a RGBA () árnyék színe.

    A rgb az rgba, a piros, a zöld és a kék színcsatorna értékei, míg egy az alfa-csatorna, ami felelős az átláthatóságért.

    Az alfa-csatorna esetében az 1 érték egy átlátszatlan szín, míg 0 létrehoz egy teljesen átlátszó szín.

    0 és 1 közötti érték hozzárendelése a doboz árnyékának rgba színértékének alfa csatornájához hozzon létre egy félig átlátszó fedőt.

    Hozza létre a Demó kódját

    Demónk bemutatja a különböző pokemonok képeit és nevét. Itt csak a Bulbasaur kódját készítjük, a demóban az első pokemon, ahogy a többiek ugyanúgy készülnek (a Codepenen is megnézheti a kódot is).

    HTML

    A HTML-hez csak szükségünk van hozzon létre egy dobozt amelyhez mindent kiegészítünk a CSS-el.

    CSS

    Az alábbi CSS-ben a .pokemon Az elemek megjelenítik a Pokemon képeket, és a .Pokemon :: után a pszeudoelemek a pokemon nevét hordozzák.

    Mivel a box-shadow ingatlan több értéket vehet fel azért, hogy több árnyékot adhat meg, az átfedő árnyék mellett más szürke árnyékokat is hozzáadtam a .pokemon és .Pokemon: hover esztétikai elemek.

     / * pokemon képek * / .pokemon szélesség: 200px; magasság: 200px; / * a középső tartalmat a flex / box * / kijelzővel: flex; indokolja a tartalmat: központ; illesztési elemek: központ; / * overlay * / box-shadow: 0 0 0 100px betét, 0 0 5px szürke; / * hover-out átmenet * / átmenet: box-shadow 1s;  / * pokemon nevek * / .pokemon :: után szélesség: 80%; magasság: 80%; kijelző: blokk; betűtípus: 16pt 'bookman old syle'; fehér szín; határ: 2px szilárd; szöveg-igazítás: központ; / * a középső tartalmat a flex / box * / kijelzővel: flex; indokolja a tartalmat: központ; illesztési elemek: központ; / * az átmenet * / átmenete: az opacitás 1s .5s;  / * feltárja pokemon képet a hover * / .pokemon: hover átmenet: box-shadow 1s; box-shadow: 0 0 0 5px betét, 0 0 5px szürke, 0 0 10px szürke betét;  / * elrejtése Pokemon nevet a hover * / .pokemon: hover :: után átmenet: opacitás .5s; opacitás: 0;  

    Amikor az .pokemon az elemek lebegnek, a doboz-árnyéknak megváltoztatnia kell a mögöttes képet.

    Láthatjuk, hogy a .Pokemon: hover A szelektor egy új doboz-árnyékot kap, amely eltávolítja az átfedést, és a .Pokemon: hover :: után A szelektor elrejti a pokemon nevét a átlátszatlanság ingatlan.

    Lehet, hogy észrevette a színes értékek hiánya a. \ t .pokemon és .Pokemon: hover stílusszabályok. Meg kell adni az egyes pokemonok overlay box-shadow színét saját különálló szabályaiban, mivel mindannyian különböznek egymástól.

    Mint box-shadow nem rendelkezik hosszútávú tulajdonságokkal, nem állíthatja be az árnyék színét egyénileg valami hasonlóval, box-shadow-szín; ehelyett - a szín ingatlan.

    Alapértelmezés szerint, ha értéket ad a szín tulajdonság, ez az érték a határra, a vázlatra és a doboz-árnyék színeire is. Tehát egyszerűen használhatja a szín tulajdonság a szín árnyékolásához.

     #bulbasaur háttérkép: url (https://assets.hongkiat.com/uploads/css-only-overlays-box-shadow/bulbasaur.jpg); / * a szín árnyék színe * / szín: rgba (71, 121, 94, 0,9);  #bulbasaur :: után / * pokemon név * / tartalom: 'Bulbasaur';  

    Az átfedő árnyék színe a fentieket használja RGBA () az alfa-érték 0,9-es értékével működik, hogy az átfedés átlátható legyen.

    Az overlay box-árnyék színén kívül a fenti CSS hozzáadja az egyes pokemon egyéni szabályait is - a képet háttérkép és a név.

    És ez minden, készen állunk a CSS-alapú színes képborításunkkal. Tekintse meg az alábbi tollal kapcsolatos összes póker kódját.