33: Відсікання та маскування - CSS-хитрощі

Anonim

Концепція відсікання та маскування досить проста. Сховати певні частини елементів і показати інші. Фактична різниця між ними також досить проста. Відсікання - це завжди векторний шлях, де всередині шляху видно, а за межами шляху немає. Де маска - це зображення, трактується як зображення у градаціях сірого, де чорні частини маскують зображення до прозорості, а білі частини пропускають зображення.

Здійснити відсікання та маскування, проте, не особливо просто, оскільки підтримка браузера (і всі маленькі входи та виходи) досить різна. Ми намагаємось пройти все це в цьому скринкасті, боротьбі та усьому.

Синтаксис усіх можливостей такий:

.clip-me ( /* referencing path from an inline SVG */ clip-path: url(#c1); /* referencing path from external SVG */ clip-path: url(path.svg#c1); /* polygon */ clip-path: polygon(5% 5%, 100% 0%, 100% 75%, 75% 75%, 75% 100%, 50% 75%, 0% 75%); /* circle */ clip-path: circle(30px at 35px 35px); /* ellipse */ clip-path: ellipse(65px 30px at 125px 40px); /* inset-rectangle() may replace inset() ? */ /* rectangle() coming in SVG 2 */ /* Masking */ /* mask-image, mask-position, mask-repeat, mask-clip, mask-size… */ mask: url(mask.svg); mask-type: luminance || alpha; -webkit-mask-box-image: url(stampTiles.svg) 30 repeat; mask-border: url(stampTiles.svg) 30 repeat; )

Деякі демонстраційні матеріали, з якими ми грали у цьому відео, є тут і тут.

Ось ціла купа ресурсів:

  • clip-path тут, у альманасі CSS-Tricks
  • Відсікання та маскування в CSS
  • кліп-шлях на WPD
  • кліп-шлях на MDN
  • Відсікання та маскування на MDN
  • Властивість кліпу CSS (застаріле) (вражаючі веб-сайти)
  • Специфікація CSS Masking
  • Маскування CSS Дірка Шульце
  • Відсікання в CSS та SVG - Властивість та елемент кліпу шляху Сари Суейдан
  • Ручки з міткою кліп-шлях на CodePen
  • Демонстраційні програми та підтримка браузера демонстраційна версія Pen від Yoksel
  • SVG Маски Якоба Єнькова
  • Дослідження Алана Грінблатта щодо рівнів підтримки браузера для відсікання та маскування функцій