Główna » Projektowanie stron » Odbicie obrazu CSS3 [Porady CSS3]

    Odbicie obrazu CSS3 [Porady CSS3]

    Do tej pory omówiliśmy wiele nowych właściwości w CSS3. Poza tym istnieje kilka innych właściwości, które obecnie nie są uwzględnione w oficjalnych specyfikacjach CSS3, które warto wypróbować, z których jeden to box-reflect własność inicjowana przez Webkit. Ta właściwość może odzwierciedlać określone obiekty.

    Podstawowe odbicie

    Podstawowa implementacja jest dość intuicyjna; powiedzmy, chcemy odbicia poniżej rzeczywistego obiektu. Możemy pisać:

     img -webkit-box-reflect: poniżej;  
    Kredyt: Osiem tygodni Bruce'a

    Ten przykład pokazuje, jak odzwierciedlamy obraz poniżej (pozycja) obiekt. Ale w tym przypadku możemy również zachować odbicie dobrze, lewo, i powyżej.

    Przesunięcie odbicia

    Offsetowy służy do zdefiniowania luki między odbiciem a odbijanym obiektem rzeczywistym. Zobaczmy poniższy fragment kodu;

     img -webkit-box-reflect: poniżej 10px;  

    W powyższym kodzie oddzieliliśmy odbicie od obiektu rzeczywistego przez 10px;

    Kredyt: Osiem tygodni Bruce'a
    • Wyświetl demo

    Maskowanie gradientami

    Efekt odbicia, który zwykle widzimy, to zanikanie na dole i wyświetlanie tylko połowy lub mniej rzeczywistego obiektu. Aby powielić ten efekt, możemy go zastosować Gradienty CSS3 maskować obiekt w ten sposób;

     -webkit-box-reflect: poniżej 0px -webkit-gradient (liniowy, lewy górny, lewy dolny, od (przezroczysty) do (rgba (250, 250, 250, 0,1))); 

    Ten kod spowoduje następującą prezentację;

    Credit: What's Liberal About The Liberal Arts?

    Możemy również użyć zatrzymanie koloru kontrolować przejścia i sprawić, że odbicie będzie ładniejsze:

     img -webkit-box-reflect: poniżej 0px -webkit-gradient (liniowy, lewy górny, lewy dolny, od (przezroczysty), kolorowy-stop (70%, przezroczysty), do (rgba (250, 250, 250, 0,1) )));  
    Kredyt: Wszystko ma znaczenie!
    • Wyświetl demo

    Alternatywy dla Firefoksa

    Ta właściwość działa jednak obecnie tylko w przeglądarkach Webkit (co oznacza Safari i Chrome). Aby zapewnić taki sam efekt w Firefoksie, potrzebujesz innej trasy: używając -moz-element () funkcjonować. Ta funkcja generuje lub replikuje zawartość z określonych elementów HTML. Spójrzmy na poniższy przykład;

    Mamy obraz zawinięty w

    z moz-reflect ID;

     

    I, aby utrzymać refleksję, użyjemy :po pseudoelement, następująco;

     # moz-reflect: after content: ""; Blok wyświetlacza; background: -moz-element (# moz-reflect) no-repeat; szerokość: auto; wysokość: 375px; margin-bottom: 100px; -moz-transform: scaleY (-1);  

    The -moz-transform ze skalą ujemną służy do odwrócenia wygenerowanego obiektu do góry nogami. Upewnij się także, że wysokość jest wystarczająco precyzyjny dla prawdziwego obiektu wysokość aby uniknąć niepotrzebnych dodatkowych linii do pozycjonowania odbicia.

    Niestety nadal nie ma łatwego sposobu na utworzenie ładny efekt odbicia w Firefoksie przy użyciu tej praktyki. Powyższy kod po prostu stworzy odbicie, bez efektu zanikania.

    Credit: Strange Bedfellows
    • Wyświetl demo
    • Pobierz źródło

    Dalsze odniesienia

    • Safari CSS Visual Effects Guide
    • Dokumentacja elementu Mozilla