Maski CSS, kształty i perspektywa 3D

Plac zabaw z maskami i kształtami CSS

Maski CSS, shape-outside i perspektywa 3D z demami na żywo | We.Inc

Wygaszaj obrazy gradientami mask-image, wycinaj kształty maskami SVG, oblewaj tekstem koła za pomocą shape-outside, porównaj clip-path z maską i zbuduj scenę z perspektywą 3D.

Maska CSS ukrywa części elementu na podstawie przezroczystości obrazu: mask-image: linear-gradient(black, transparent) wygasza go ku dołowi. shape-outside sprawia, że sąsiedni tekst opływa koło lub wielokąt zamiast prostokąta. perspective na rodzicu nadaje obróconym dzieciom prawdziwą głębię. Zbuduj maskę na placu zabaw i ją skopiuj.

Które narzędzie do jakiego zadania

Zacznij od placu zabaw z maskami: wybierz wygaszenie, reflektor lub wycięty kształt, przesuwaj go po przykładowym obrazie i skopiuj CSS z prefiksem -webkit-. Pod nim znajdziesz edytowalne przykłady opływania tekstem, porównania clip-path z maską i małej sceny 3D, wszystkie działające bez JavaScript.

Najczęściej zadawane pytania

Czym różni się clip-path od maski?

clip-path rysuje geometryczny kontur i wszystko poza nim jest odcinane ostrą krawędzią. mask-image używa obrazu lub gradientu, więc krawędzie mogą być miękkie i częściowo przezroczyste. Ścieżki przycinania są prostsze dla wielokątów i kół; maski to wybór do wygaszeń, rozmytych reflektorów i wycięć w kształcie logo.

Czy nadal potrzebuję -webkit-mask-image?

Właściwości mask bez prefiksu stały się Baseline pod koniec 2023 roku. Dodanie obok wersji z -webkit- nic nie kosztuje i sprawia, że efekt działa u odwiedzających ze starszymi wersjami Safari i Chromium.

Dlaczego mój shape-outside nie działa?

Sprawdź trzy rzeczy: element musi mieć float, potrzebuje szerokości i wysokości, a jeśli jako kształtu używasz obrazu, musi on pochodzić z tego samego origin lub być serwowany z nagłówkami CORS. Tekst opływa też tylko po stronie przeciwnej do floata.

Jak wygasić krawędź przewijanej listy?

Nałóż maskę na kontener przewijania: mask-image: linear-gradient(to bottom, black 85%, transparent). Ostatnie linie zanikają, sugerując, że jest więcej treści, a maska przewija się razem z kontenerem, a nie z treścią.

Jaką wartość powinna mieć perspective?

To odległość od widza do płaszczyzny z = 0. Dla kart naturalnie wygląda około 600px do 1200px. Mniejsze wartości, jak 300px, przesadnie podkreślają głębię i mocno zniekształcają bliższe krawędzie.

Jak maska decyduje, co jest widoczne

Opływanie kształtów tekstem

Maski z gradientem: wygaszenia i reflektory

Wygaszenie dołu bloku

W pełni widoczny do 50 procent wysokości, potem płynne wygaszenie do zera.

Radialny reflektor

Gradient radialny pozostawia widoczne miękkie koło i ukrywa resztę wzoru.

Maski SVG i data URI

Wytnij element w kształt gwiazdy

SVG jest wstawione jako data URI, więc dodatkowy plik nie jest potrzebny. mask-size: contain utrzymuje całą gwiazdę w pudełku.

Zmień kolor pliku ikony za pomocą maski

Plik ikony dostarcza tylko kształt; kolor ustawia background-color, więc jeden SVG obsługuje każdy motyw i stan hover.

shape-outside: tekst opływający kształty

Opłyń tekstem koło

Float odpycha tekst przez shape-outside i wygląda na okrągły dzięki border-radius. shape-margin dodaje trochę oddechu.

Opłyń tekstem ukośny wielokąt

Ten sam wielokąt steruje zarówno widocznym cięciem (clip-path), jak i przepływem tekstu (shape-outside).

clip-path a maska

To samo koło, ostra i miękka krawędź

Lewe używa clip-path: circle(). Prawe używa maski z gradientem radialnym z rozmytą krawędzią, czego clip-path nie potrafi.

Porównanie clip-path i maski

Mała scena z perspektywą 3D

Pochylone karty we wspólnej przestrzeni 3D

perspective na scenie i preserve-3d na grupie umieszczają trzy karty w jednej przestrzeni; translateZ przesuwa każdą na inną głębokość.

Ściągawka właściwości mask

Właściwości składowe mask i ich działanie

Koło

Gwiazda

Serce

Plama

Plac zabaw z maskami

Typ maski

Liniowe wygaszenie

Reflektor

Kształt SVG

Element z maską. Szachownica pokazuje, gdzie jest ukryty.

Kierunek

W pełni widoczny do

Środek X

Środek Y

Promień pełnej widoczności

Rozmycie

Kształt

Rozmiar maski

Kopiuj CSS

Zacznij za darmo · Bez karty kredytowej

Powiązane: Poradniki

Produkt

Dla kogo

Funkcje

Zasoby

Firma

Mapa strony