Pagina principala » Web design » Reflecția imaginii CSS3 [Sfaturi pentru CSS3]

    Reflecția imaginii CSS3 [Sfaturi pentru CSS3]

    Până acum, am discutat o mulțime de noi proprietăți în CSS3. Dincolo de asta, există de fapt câteva alte proprietăți care în prezent nu sunt incluse în specificațiile oficiale CSS3 care merită să încercați, dintre care una este box-reflectă proprietate care este inițiată de Webkit. Această proprietate poate reflecta obiectele specificate.

    Reflecție de bază

    Implementarea de bază este destul de intuitivă; să spunem, vrem reflecția sub obiectul real. Putem scrie:

     img -webkit-box-reflect: mai jos;  
    Credit: Opt săptămâni de Bruce

    Acest exemplu arată modul în care reflectăm o imagine de mai jos (poziția) obiectului. Dar, în acest caz, putem de asemenea să ținem reflecția la dreapta, stânga, și de mai sus.

    Reflecție Offset

    ofset este folosit pentru a defini decalajul dintre reflecție și obiectul real reflectat. Să vedem fragmentul de cod de mai jos;

     img -webkit-box-reflect: sub 10px;  

    În codul de mai sus, am separat reflecția de la obiectul real prin 10px;

    Credit: Opt săptămâni de Bruce
    • Vizualizați demonstrația

    Mascarea cu gradienti

    Efectul de reflecție pe care îl vedem în mod obișnuit este decolorarea în partea de jos și afișarea unei jumătăți sau mai puțin a obiectului real. Pentru a replica acest tip de efect, putem aplica Gradienți CSS3 pentru a masca obiectul, ca atare;

     -webkit-box-reflect: sub 0px -webkit-gradient (liniar, stânga sus, partea stângă jos, de la (transparent), la (rgba (250, 250, 250) 0,1)); 

    Acest cod va avea ca rezultat prezentarea următoare;

    Credit: Ce este liberalul despre artele liberale?

    Putem de asemenea folosi Culoare-stop pentru a controla tranzițiile și pentru a face reflecția să arate mai bine:

     img -webkit-box-reflect: sub 0px -webkit-gradient (liniar, stânga sus, partea stângă jos, din (transparentă), stop color (70% transparent), rgba (250, 250, 250, 0.1 )));  
    Credință: Totul contează!
    • Vizualizați demonstrația

    Alternative pentru Firefox

    Această proprietate, totuși, funcționează numai în browserele Webkit (adică Safari și Chrome) în momentul de față. Pentru a oferi același efect în Firefox, aveți nevoie de un alt traseu: folosind -Moz element () funcţie. Această funcție va genera sau replica conținutul din anumite elemente HTML. Să aruncăm o privire la următorul exemplu;

    Avem o imagine înfășurată într-un

    cu Moz-reflectă id;

     

    Și, pentru a ține reflecția, vom folosi :după pseudo-element de, după cum urmează;

     # moz-reflect: după conținut: ""; afișare: bloc; fundal: -moz-element (# moz-reflect) nu-repeta; lățime: auto; înălțime: 375px; margin-bottom: 100px; -moz-transform: scaleY (-1);  

    -Moz-transformare cu scala negativă este folosit pentru a răsturna obiectul generat cu capul în jos. De asemenea, asigurați-vă că înălţime este suficient de precis pentru obiectul real înălţime pentru a evita liniile extra inutile pentru poziționarea reflexiei.

    Din păcate, nu există încă o modalitate ușoară de a crea o frumos reflecție în Firefox folosind această practică. Codul de mai sus va crea pur și simplu reflecția, fără efectul de estompare.

    Credință: Copii ciudați
    • Vizualizați demonstrația
    • Descărcați sursa

    Alte referințe

    • Safari CSS Visual Effects Guide
    • Documentul Mozilla ()