Товаров: 0 (0р.)

Маска css: Маскирование в CSS | htmlbook.ru

Содержание

Создание простых масок CSS: изображения в фигурных рамках

В свадебных и подобных праздничных фотографиях нередко используется осветление или затемнение изображения по краям. В сущности так создается внутренняя рамка для изображения. Для воплощения такого эффекта можно использовать способ, подобный описанному в уроке «Создание простых масок CSS: изображения с закругленными краями»: увеличив радиус закругления рамки, можно создать эффект эллиптической обрезки, показанный ниже.

 

 


Добиться осветления или затемнения изображения по краям изнутри немного сложнее: нельзя использовать внутреннюю тень на тегах изображений, так как она окажется за изображением и будет им полностью загорожена. Вместо этого сделаем изображение фоном для тега абзаца, причины чего станут понятны несколько позже. Пока что абзац пуст:

И зададим код CSS с указанием ширины и высоты изображения этому абзацу. Далее идет код CSS для современных версий браузеров, без обходных путей и приставок производителей для старых версий:

p#vignette { width: 500px; height: 188px; background-image: url(golden-gate-bridge. jpg); border-radius: 50%; box-shadow: inset 0 0 60px rgba(0, 0, 0, 1); overflow: hidden; }

Этот способ хорошо работает, но ему не хватает доступности. Так как нельзя применить атрибуты всплывающей подсказки и альтернативного отображения к фоновому изображению, следует записать в абзац, что представляет собой изображение:

<p>Golden Gate Bridge in fog</p>

И добавим код CSS:

p#vignette {
        width: 500px; height: 188px;
        background-image: url(golden-gate-bridge.jpg);
        border-radius: 50%;
        box-shadow: inset 0 0 60px rgba(0, 0, 0, 1);
        overflow: hidden;
}

И этот способ тоже работает, но текст получается обрезан краем невидимой рамки и свойством скрытия переполнения. Было бы гораздо лучше, чтобы текст был в центре изображения, так что воспользуемся свойством размещения текста по центру и известной хитростью для вертикального расположения по центру единственной строки в блоке известной высоты с помощью использования значения этой высоты как значения высоты строки:

p#vignette {
        text-align: centre;
        line-height: 180px;
}

Если нужно, чтобы текст оставался заменителем подписи изображения, можно увеличить значение высоты строки так, чтобы поместить текст ниже изображения, или можно сделать так, чтобы текст полностью исчез, используя один из нескольких подходящих приемов. Текст все равно останется читабельным для программ чтения с экрана для сохранения доступности:

 

p#vignette {
        color: rgba(0, 0, 0, 0);
}

К сожалению, изменение цвета внутренней тени на белый, например, если изображение находится на странице с белым фоном, не размывает ожидаемым образом внешние края изображения. Для этого потребуются более сложные способы.

С помощью задания разных значений закругления рамки для разных углов можно добиться, чтобы изображения находились в вырезанных окнах страницы, по необходимости применяя этот же способ: представьте формы фресок Рафаэля в апартаментах Папы Римского:

p#lake-como {
        width: 450px; height: 300px;
        background-image: url('lake-como-villa.jpg');
        border-radius: 50% 50% 10px 10px;
        box-shadow: inset 0 0 100px rgba(0, 0, 0, 1);
}

Автор урока Dudley Storey

Перевод — Дежурка

Смотрите также:

Эффект масок для изображений с помощью CSS

Ранее мы уже публиковали уроки про различные маскирующие эффекты, основанные на свойствах SVG. На этот раз мы воспользовались прозрачностью PNG, чтобы увеличить масштаб маски. Если вы хотите изменить цвет масок форматов .png, вы можете легко сделать это в Photoshop (или любом другом графическом редакторе), применив цветное наложение ко всему слою изображения. Если вы планируете создавать свои собственные маски, обратите внимание, что этот эффект работает только в том случае, если в самом центре маски пустое пространство.

 

Много различным бесплатных шаблонов вы можете найти на сайте наших партнеров, также имеются и премиум шаблоны с круглосуточной техподдержкой и помощью в настройке:

Наш эффект перехода будет основан на масках созданных в формате PNG и CSS-преобразованиях. Итак, давайте приступим к реализации.

Шаг 1. HTML

Структура HTML состоит из списка <section> заключенного в

.cd-image-mask-effectelement. Каждый <section> содержит div.featured-изображение (изображение проекта), div.mask (маску изображения) и div.cd-project-info для содержимого проекта.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

<section>

<h2>Наименование</h2>

<div></div>

<div>

<img src=»img/mask-01.png» alt=»mask»>

<span></span>

<span></span>

<span></span>

<span></span>

</div>

<a href=»#0″>Смотреть проект</a>

<a href=»#0″>Прокрутить</a>

<div data-url=»project-1″>

</div>

<a href=»#0″>Закрыть</a>

</section>

<section>

</section>

Содержимое проекта не включено в HTML, но загружается с помощью JavaScript.

Шаг 2. CSS

Каждый .cd-project-maskhas имеет высоту 100vh (высота видового экрана) и ширину 100%; Изображение проекта устанавливается как фоновое изображение элемента .featured-imageelement, а изображение маски — внутри .maskelement.


Маска-borderelements использовались для создания рамки вокруг маски изображения, чтобы убедиться, что изображение, отображаемое в проекте, не видно снаружи маски (мы использовали элементы <span>, а не псевдоэлементы, потому что их поведение было ошибкой в Safari 9).

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

.cd-project-mask {

position: relative;

height: 100vh;

width: 100%;

overflow: hidden;

}

.cd-project-mask .featured-image {

position: absolute;

left: 50%;

top: 50%;

bottom: auto;

right: auto;

transform: translateX(-50%) translateY(-50%);

height: 100%;

width: 100%;

background: url(../img/img-01.jpg) no-repeat center center;

background-size: cover;

}

.cd-project-mask .mask {

position: absolute;

left: 50%;

top: 50%;

bottom: auto;

right: auto;

transform: translateX(-50%) translateY(-50%);

width: 300px;

height: 300px;

}

.cd-project-mask .mask .mask-border {

position: absolute;

}

.cd-project-mask .mask .mask-border-top,

.cd-project-mask .mask .mask-border-bottom {

height: calc(50vh — 150px + 10px);

width: 100vw;

left: 50%;

right: auto;

transform: translateX(-50%);

}

.cd-project-mask .mask .mask-border-top {

bottom: calc(100% — 10px);

}

.cd-project-mask .mask .mask-border-bottom {

top: calc(100% — 10px);

}

.cd-project-mask .mask .mask-border-left,

.cd-project-mask .mask .mask-border-right {

height: 100vh;

width: calc(50vw — 150px + 10px);

top: 50%;

bottom: auto;

transform: translateY(-50%);

}

.cd-project-mask .mask .mask-border-left {

left: calc(100% — 10px);

}

.cd-project-mask .mask .mask-border-right {

right: calc(100% — 10px);

}

Когда пользователь выбирает проект, класс .project-view (добавленный в обертку .cd-image-mask-effect) используется, чтобы скрыть все другие проекты. Затем .maskelement масштабируется, чтобы выявить изображение, отображаемое в проекте, и содержимое проекта загружается (подробнее в разделе «Обработка событий»).

.project-view .cd-project-mask:not(.project-selected) {

position: absolute;

top: 0;

left: 0;

opacity: 0;

visibility: hidden;

}

Шаг 3. JS

Чтобы реализовать этот эффект маски изображения, мы создали объект ProjectMask и применили метод Project Project для присоединения соответствующих обработчиков событий.

function ProjectMask( element ) {

this.element = element;

this.projectTrigger = this.element.find(‘.project-trigger’);

this.projectClose = this.element.find(‘.project-close’);

this.projectTitle = this.element.find(‘h2’);

this.projectMask = this.element.find(‘.mask’);

//…

this.initProject();

}</p>

var revealingProjects = $(‘.cd-project-mask’);

var objProjectMasks = [];

if( revealingProjects.length > 0 ) {

revealingProjects.each(function(){

objProjectMasks.push(new ProjectMask($(this)));

});

}

Когда пользователь выбирает проект, метод presentationProject используется для масштабирования изображения маски, а метод uploadContent отвечает об загрузке содержимого проекта (с помощью функции load ()) и добавляет новую страницу в window.history (используя pushState ( )).

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

ProjectMask.prototype.initProject = function() {

var self = this;

this.projectTrigger.on(‘click’, function(event){

event.preventDefault();

if( !self.animating ) {

self.animating = true;

self.uploadContent();

self.revealProject();

}

});

};

ProjectMask.prototype.revealProject = function() {

var self = this;

self.updateMaskScale();

self.projectTitle.attr(‘style’, ‘opacity: 0;’);

self.projectMask.css(‘transform’, ‘translateX(-50%) translateY(-50%) scale(‘+self.maskScaleValue+’)’).one(transitionEnd, function(){

self.element.addClass(‘center-title’);

self.projectTitle.attr(‘style’, »);

self.animating = false;

});

self.element.addClass(‘project-selected content-visible’).parent(‘.cd-image-mask-effect’).addClass(‘project-view’);

}

ProjectMask.prototype.uploadContent = function(){

var self = this;

if( self.projectContent.find(‘.content-wrapper’).length == 0 ) self.projectContent.load(self.projectContentUrl+’.html .cd-project-info > *’);

if( self.projectContentUrl+’.html’!=window.location ){

window.history.pushState({path: self.projectContentUrl+’.html’},»,self.projectContentUrl+’.html’);

}

}

Вот и все. Готово!

Читайте также:

ᐈ Маска фиксатор цвета с экстрактом белого чая CSS Green Light

Бренд: Green Light

Группа товаров: Маски для волос

Назначение: Восстановление

Тип волос: Для окрашенных

Тип нанесения: Смываемый

Время применения: После окрашивания/осветления

Классификация: Технический препарат

Страна бренда: Италия

Пол: Унисекс

Возраст: 18+

Страна производитель: Италия

Объем: 1000 мл

Ингредиенты: Белый чай

ВАЖНО!

Hair Prof делает всё возможное, чтобы информация о товаре была корректной, и полезной для Вас. Иногда информация может обновляться с задержкой, и фото продукции в новом дизайне на сайте появляется не сразу. Но даже в этом случае, мы гарантируем оригинальность всей продукции, и готовы помочь подобрать уходовое средство.

Обратите внимание, что мы не несем ответственности за результат применения технических, процедурных средств. Также, мы не можем с уверенностью рекомендовать конкретный оттенок красителя для волос, потому что результат зависит от правильности использования, и изначального состояния волос. Рекомендуем следовать инструкции, которая прилагается в упаковке. ♥

Маска предназначена для ухода за волосами и фиксации косметического цвета после окрашивания. Идеальный вариант для завершения процедуры окрашивания: обеспечивает более длительную стойкость цвета, придает волосам ощутимой мягкости. Для максимальной фиксации достигнутого оттенка, рекомендуется использовать вместе с шампунем CSS.

Способ применения: технический препарат, рекомендуется для профессионального использования. Использовать согласно инструкции.

Создание маски. HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов

Читайте также

Маски родства системы, процесса и потока

Маски родства системы, процесса и потока У каждого процесса имеется собственная маска родства процесса (process affinity mask), представляющая собой битовый вектор. Существует также маска родства системы (system affinity mask). • Маска родства системы отображает процессоры,

Значения маски АСЕ

Значения маски АСЕ Модели «пользователь, группа, прочие», которую реализует функция InitUnixSA в большинстве случаев будет вполне достаточно, хотя с использованием тех же базовых методов могут реализовываться и другие модели.Вместе с тем, для этого необходимо знать

Создание маски

Создание маски О масках мы уже знаем из главы 21. В терминологии канвы так называется особая фигура, задающая своего рода «окно», сквозь которое будет видна часть графики, нарисованной на канве. Вся графика, не попадающая в это «окно», будет скрыта. При этом сама маска на канву

6.4 Использование маски подсети

6.4 Использование маски подсети Предположим, что компьютер имеет IP-адрес 130.15.12.131 и подключен к локальной сети, а данные нужно послать:Из: 130.15.12.131В: 130.15.12.22Можно предположить, что обе системы находятся в одной и той же подсети. Компьютер должен проверить, верно ли такое

8.6.1 Использование маски маршрута

8.6.1 Использование маски маршрута Для поиска совпадения с адресом назначения (например, 128.36.2.25) нужно сравнить 128.36.2.25 с каждым элементом маршрута назначения (Route Destination). Элементы маски маршрута (Route Mask) указывают, сколько бит из 128.36.2.25 должны совпадать с битами маршрута

8.7.1 Использование маски маршрута

8.7.1 Использование маски маршрута Для поиска совпадения с назначением 128.121.54.101 нужно применить маску маршрута для каждого элемента и сравнить результат с назначением маршрута (Route Destination). Применение маски 255.255.255.0 к четвертой строке даст 128.121.54.0, что совпадает с элементом

8.9.9 Нет маски подсети

8.9.9 Нет маски подсети В сообщения прокола RIP версии 1 не включаются маски (см. рис. 8.6), следовательно, нельзя определить, что представляет собой адрес: подсеть или хост.Долгое время разработчики маршрутизаторов решали эту проблему, требуя, чтобы пользователи выбирали одну

Приложение D Маски подсети переменной длины

Приложение D Маски подсети переменной длины D.1 Введение Формат адресов Интернета причиняет много хлопот сетевым администраторам хотя бы потому, что 32-разрядное адресное пространство слишком мало и ограничено.Компьютеры работают с адресами, используя побитовое деление,

D.2 Маски подсетей с переменной длиной

D.2 Маски подсетей с переменной длиной Очень трудно выбрать одну-единственную маску подсети для организации. Многие сети предприятий сочетают различное коммуникационное оборудование — линии дальней связи, Frame Relay, локальные сети офиса и мелких подразделений организации.

D.2.1 Присваивание маски линии «точка-точка»

D.2.1 Присваивание маски линии «точка-точка» Начнем со связи «точка-точка» (Point-to-Point). Хотя в некоторых сайтах не присваивают IP-адреса линиям «точка-точка», многие маршрутизаторы обеспечивают такую возможность, и мы рассмотрим сначала именно этот вариант. Для любой цепи

Каналы-маски

Каналы-маски Вы можете добавить в изображение новый канал. Однако это будет не цветовой, а так называемый альфа-канал, или канал-маска. Для чего могут использоваться такие каналы? Применений множество. Самое простое – это использование масок для изображения или

Маски

Маски Один из самых важных инструментов Photoshop – маска. Она представляет собой шаблон выделения, определяющий участки изображения, с которым вы работаете. Напрашивается вполне закономерный вопрос: зачем использовать для выделения маски, если в арсенале программы столько

Глава 10 Выделение, каналы и маски

Глава 10 Выделение, каналы и маски 10.1. Инструменты простого и сложного выделения10.2. Меню Select (Выделение)10.3. Дополнительное меню выделения10.4. Маска10.5. Режим Quick Mask (Быстрая маска)10.6. Дополнительные

Автопилоту Tesla многие не доверяют из-за противоречивости Маска

Если ссылаться на сообщение авторитетного новостного источника в лице LA Times, Калифорнийский департамент транспортных средств, судя по всему, весьма активно расследует дело по отношению к автомобилестроительной компании Tesla в связи с крайне дерзкими заявлениями генерального директора Илона Маска о надёжности и чуть ли не идеальности фирменной технологии автопилота под названием Full Self-Driving его компании. Новость об этом появилась спустя неделю после того, как инженеры Tesla в частном порядке признались Автотранспортной инспекции в том, что Илон Маск осознанно преувеличивал возможности вышеназванной системы автопилота в своих социальных сетях.

И если вы не в курсе, то Full Self-Driving является дополнительной опцией, которую можно приобрести при покупке электрокара за 10,000 долларов. Сама Tesla обещает, что приобретя вышеназванный пакет автоматического вождения, автомобиль сможет делать буквально всё, начиная от смены полосы движения на автостраде, и заканчивая самостоятельным съездом с трассы, самостоятельной остановкой на светофорах и знаках и так далее. Однако, как в то же время утверждает автопроизводитель, это всё-равно не делает автомобиль целиком и полностью автономным. Следует упомянуть и то, что все транспортные средства Tesla в настоящее время работают на уровне автономности 2.

Об этом лично сообщил следователям из Автотранспортной инспекции директор программного обеспечения автопилота компании, Си Джей Мур, что произошло во время телеконференции 9 марта. «Соотношение взаимодействия водителя должно быть в пределах 1,5 или 3 миллионов километров на взаимодействие водителя, чтобы перейти на более высокий уровень автоматизации», — говорится в записке, полученной во время вышеназванной встречи. Также Tesla указала, что Илон Маск экстраполирует темпы улучшения, говоря о возможностях L5. Тесла не может сказать, дойдет ли скорость улучшения до уровня L5 к концу календарного года».

То есть, тот факт, который сама Tesla признает на своем веб-сайте, что «Full Self-Driving не делает автомобиль автономным в полной мере», не помешает целому ряду автолюбителей относиться к подобным технологиям в транспортном средстве как к своим личным шофёрам. И хотя закон Калифорнии, как и многих других штатов и стран в целом возлагает вину за любые аварии или ущерб, причинённые в рамках автономного вождения, непосредственно на тех, кто технически находится за рулем, Автотранспортная инспекция имеет право наказать саму автомобилестроительную компанию, что более чем правильно.

Новый противогаз Social Gas Mask выглядит вполне симпатично

Противогазы за всю свою историю существования получили отличительные черты, стали на самом деле культовыми приборами и вызывают у многих специфические воспоминания о разных событиях, местах и так далее. Как технологичный элемент униформы он сочетает в себе маску и систему фильтрации воздуха. Но этот новый противогаз бросает вызов простой классификации.

Представьте только, что во всемирно известной игре «STALKER», события в сюжете которой развиваются в окрестностях печально известной Припяти и четвёртого энергоблока Чернобыльской атомной электростанции, персонажи пользовались теми аппаратами, которые Вы видите сейчас перед собой на фотографиях и эскизах. Игра бы попросту потеряла свой мрачный и пост-апокалиптический шарм. Но не для таких целей создавался противогаз Social Gas Mask.
С обычными противогазами по умолчанию ассоциируются мрачные картины — химическое или биологическое оружие, загрязнение окружающей среды разными микроорганизмами, перемещающимися по воздуху и попадающими таким образом в лёгкие человека, вызывая смертельные заболевания.

Social Gas Mask — это инновационный вариант такого устройства для обеспечения безопасности дыхательной системы, используемый в качестве инструмента для психологической адаптации во время различных чрезвычайных ситуаций. Его само название «Социальный Противогаз», а также его большие окуляры, отсутствие громоздких и устрашающих внешних фильтров и маленькое отверстие для возможности членораздельно говорить прекрасно и гармонично сочетаются, чтобы обеспечить новый положительный опыт использования такого жизненно важного устройства. За счёт своей уникальной конструкции Social Gas Mask облегчает общение между людьми, проводящими время вместе в напряженной ситуации. Иначе просто сложно представить, как мог бы выглядеть «дружелюбный» противогаз.

На наш взгляд, вскоре стоит ожидать похожих масок для людей, страдающих от таких страшных заболеваний, как туберкулёз или просто заболевших простудой или гриппом. Они с их помощью смогут намного спокойнее находиться в обществе окружающих людей, не подвергая их при этом излишнему риску заражения.

mask — CSS: Каскадные таблицы стилей

Сокращенное свойство mask CSS скрывает элемент (частично или полностью), маскируя или обрезая изображение в определенных точках.

Примечание: Помимо свойств, перечисленных ниже, сокращение mask также сбрасывает mask-border в исходное значение. Поэтому рекомендуется использовать сокращение mask вместо других сокращений или отдельных свойств, чтобы переопределить любые настройки маски ранее в каскаде.Это гарантирует, что mask-border также был сброшен, чтобы новые стили вступили в силу.

  # 

, где
= || <позиция> [/ ]? || <стиль повторения> || || [ | без клипа] || <оператор-компоновщик> || <режим-маски>

, где
<ссылка-маски> = нет | <изображение> | <источник-маски>
<позиция> = [[слева | центр | справа] || [наверх | центр | внизу] | [слева | центр | право | <длина- процент>] [наверх | центр | внизу | <длина-процент>]? | [[слева | справа] <длина-процент>] && [[вверх | снизу] <процент-длины>]]
<размер-размер> = [<процент-длины> | авто] {1,2} | крышка | содержат
= repeat-x | повторять-у | [повторить | пространство | круглый | без повтора] {1,2}
= | заполнитель | инсульта | view-box
<оператор-компоновщика> = добавить | вычесть | пересекаются | исключить
<режим-маски> = альфа | яркость | источник совпадения

, где
= | <изображение ()> | <набор изображений ()> | | <краска ()> | <плавное затухание ()> | <градиент>
<источник-маски> =
<процент-длины> = <длина> | <процент>
= | margin-box

где
= image (? [?, ?]!)
= image-set ( #)
= element ()
= paint (, ?)
<плавное затухание ()> = плавное затухание (, ?)
<градиент> = | <повторяющийся линейный градиент ()> | <радиальный градиент ()> | <повторяющийся радиальный градиент ()> |
= border-box | обивка | content-box

, где
= ltr | rtl
= | <строка>
<цвет> = | | | | <шестнадцатеричный цвет> | <имя-цвета> | текущий цвет | <устаревший-системный-цвет>
= [ | <строка>] [<разрешение> || type ()]
=
= <процент>? && <изображение>
= <изображение> |
= linear-gradient ([ | to ]?, )
= повторяющийся-линейный-градиент ([<угол> | до <стороны- или-угла>]?, <список-остановок-цветов>)
<радиальный-градиент ()> = радиальный-градиент ([ || ]? [at ]?, )
= повторяющийся-радиальный-градиент ([ || <размер >]? [at ]?, )
= conic-gradient ([от ]? [at ] ?, )

где
= rgb (<процент> {3} [/ ]?) | rgb (<число> {3} [/ <альфа-значение>]?) | rgb (<процент> # {3}, <альфа-значение>?) | rgb (<число> # {3}, <альфа-значение>?)
= rgba (<процент> {3} [/ <альфа-значение>]?) | rgba (<число> {3} [/ <альфа-значение>]?) | rgba (<процент> # {3}, <альфа-значение>?) | rgba (<число> # {3}, ?)
= hsl ( [/ ]?) | hsl (<оттенок>, <процент>, <процент>, <альфа-значение>?)
= hsla (<оттенок> <процент> <процент> [/ <альфа-значение>]?) | hsla (<оттенок>, <процент>, <процент>, <альфа-значение>?)
<сторона-или-угол> = [слева | справа] || [наверх | внизу]
<список-остановок-цветов> = [<остановка-цветов> [, <подсказка-цветов>]? ] #,
= круг | эллипс
<размер> = ближайшая сторона | дальняя сторона | ближайший угол | дальний угол | <длина> | <процент-длины> {2}
<список-углов-остановок> = [<углов-цвет-остановка> [, <угловой-цвет-подсказка>]? ] #,

, где
= | <процент>
<оттенок> = <число> | <угол>
= ?
=
= && ?
=

, где
= {1,2}
= {1,2}
<угол-процент> = <угол> | <процент>

маска-изображение — CSS: каскадные таблицы стилей

Свойство mask-image CSS устанавливает изображение, которое используется в качестве слоя маски для элемента.По умолчанию это означает, что альфа-канал изображения маски будет умножен на альфа-канал элемента. Этим можно управлять с помощью свойства mask-mode .

 
маска-изображение: нет;


изображение-маска: url (masks.svg # mask1);


изображение-маска: линейный градиент (rgba (0, 0, 0, 1.0), прозрачный);
маска-изображение: изображение (url (mask.png), небесно-голубой);


изображение-маска: изображение (url (mask.png), небесно-голубой), линейный градиент (rgba (0, 0, 0, 1.0), прозрачный);


маска-изображение: наследование;
маска-изображение: начальная;
маска-изображение: вернуться;
маска-изображение: не задано;
  
 <ссылка-маска> # 

, где
<ссылка-маска> = нет | <изображение> | <источник-маски>

, где
<изображение> = | <изображение ()> | <набор изображений ()> | | <краска ()> | <плавное затухание ()> | <градиент>
=

где
= image (? [?, ?]!)
< image-set ()> = image-set ( #)
= element ()
= paint (, <объявление -value>?)
= cross-fade (, ?)
= | <повторяющийся линейный градиент ()> | <радиальный градиент ()> | <повторяющийся радиальный градиент ()> |

, где
= ltr | rtl
= | <строка>
<цвет> = | | | | <шестнадцатеричный цвет> | <имя-цвета> | текущий цвет | <устаревший-системный-цвет>
= [ | <строка>] [<разрешение> || type ()]
=
= <процент>? && <изображение>
= <изображение> |
= linear-gradient ([ | to ]?, )
= повторяющийся-линейный-градиент ([<угол> | до <стороны- или-угла>]?, <список-остановок-цветов>)
<радиальный-градиент ()> = радиальный-градиент ([ || ]? [at ]?, )
= повторяющийся-радиальный-градиент ([ || <размер >]? [at ]?, )
= conic-gradient ([от ]? [at ] ?, )

где
= rgb (<процент> {3} [/ ]?) | rgb (<число> {3} [/ <альфа-значение>]?) | rgb (<процент> # {3}, <альфа-значение>?) | rgb (<число> # {3}, <альфа-значение>?)
= rgba (<процент> {3} [/ <альфа-значение>]?) | rgba (<число> {3} [/ <альфа-значение>]?) | rgba (<процент> # {3}, <альфа-значение>?) | rgba (<число> # {3}, ?)
= hsl ( [/ ]?) | hsl (<оттенок>, <процент>, <процент>, <альфа-значение>?)
= hsla (<оттенок> <процент> <процент> [/ <альфа-значение>]?) | hsla (<оттенок>, <процент>, <процент>, <альфа-значение>?)
<сторона-или-угол> = [слева | справа] || [наверх | внизу]
<список-остановок-цветов> = [<остановка-цветов> [, <подсказка-цветов>]? ] #,
= круг | эллипс
<размер> = ближайшая сторона | дальняя сторона | ближайший угол | дальний угол | <длина> | <длина- процент> {2}
<позиция> = [[слева | центр | справа] || [наверх | центр | внизу] | [слева | центр | право | <длина- процент>] [наверх | центр | внизу | <длина-процент>]? | [[слева | справа] <длина-процент>] && [[вверх | снизу] <длина-процент>]]
<угловой-список-остановок> = [<угловой-цвет-стоп> [, <угловой-цвет-подсказка>]? ] #,

, где
= | <процент>
<оттенок> = <число> | <угол>
= ?
<линейный-цвет-подсказка> = <длина-процент>
<длина-процент> = <длина> | <процент>
<угловая-цвет-остановка> = <цвет> && <цвет-остановка-угол>?
=

, где
= {1,2}
= {1,2}
<угол-процент> = <угол> |

mask-size — CSS: Cascading Style Sheets

Свойство CSS mask-size определяет размеры изображений маски.Размер изображения может быть полностью или частично ограничен, чтобы сохранить его внутреннее соотношение.

 
маска-размер: крышка;
размер маски: содержать;



размер маски: 50%;
размер маски: 3em;
размер маски: 12 пикселей;
размер маски: авто;



размер маски: 50% авто;
размер маски: 3em 25%;
размер маски: авто 6 пикселей;
размер маски: авто авто;



размер маски: авто, авто;
размер маски: 50%, 25%, 25%;
размер маски: 6 пикселей, авто, содержать;


размер маски: наследовать;
размер маски: начальный;
размер маски: вернуться;
размер маски: не установлен;
  

Примечание: Если значение этого свойства не установлено в сокращенном свойстве mask , которое применяется к элементу после свойства CSS mask-size , значение этого свойства затем сбрасывается до исходного значения с помощью сокращенное свойство.

Одно или несколько значений , разделенных запятыми.

можно указать одним из трех способов:

  • с использованием ключевого слова содержат
  • с использованием ключевого слова cover
  • с использованием значений ширины и высоты

Чтобы указать размер с использованием ширины и высоты, вы можете указать одно или два значения:

  • Если задано только одно значение, ширина задается с высотой авто .
  • Если заданы два значения, первое задает ширину, а второе — высоту.

Каждое значение может быть <длина> , <процент> или авто .

Значения

<длина>

Значение масштабирует изображение маски до указанной длины в соответствующем измерении. Отрицательная длина не допускается.

<процент>

Значение <процент> масштабирует изображение маски в соответствующем измерении до указанного процента области позиционирования маски, которое определяется значением исходная точка маски .Область позиционирования маски по умолчанию — это область, содержащая содержимое блока и его отступы; область также может быть изменена только на содержимое или на область, содержащую границы, отступы и содержимое. Отрицательные проценты не допускаются.

авто

Ключевое слово, которое масштабирует изображение маски в соответствующих направлениях, чтобы сохранить его внутреннюю пропорцию.

содержат

Ключевое слово, которое максимально масштабирует изображение и поддерживает соотношение сторон изображения (изображение не сжимается).Изображение в почтовом ящике внутри контейнера. Изображение автоматически центрируется, если оно не перекрывается другим свойством, например , маска-позиция .

крышка

Ключевое слово, обратное , содержит . Масштабирует изображение до максимально возможного размера с сохранением соотношения сторон изображения (изображение не сжимается). Изображение «покрывает» всю ширину или высоту контейнера. Когда изображение и контейнер имеют разные размеры, изображение обрезается либо слева / справа, либо сверху / снизу.

Интерпретация возможных значений зависит от внутренних размеров изображения (ширина и высота) и внутренних пропорций (соотношение ширины и высоты). Растровое изображение всегда имеет внутренние размеры и внутреннюю пропорцию. Векторное изображение может иметь как внутренние размеры, так и внутреннюю пропорцию. Он также может иметь один внутренний размер или не иметь его, и в любом случае он может иметь внутреннюю пропорцию, а может и не иметь. Градиенты рассматриваются как изображения без внутренних размеров или пропорций.

Затем визуализированный размер изображения маски вычисляется следующим образом:

Если указаны оба компонента размера маски , а не авто :

Изображение маски отображается с указанным размером.

Если размер маски равен , содержать или крышку :

Изображение визуализируется с сохранением его внутренней пропорции с максимальным размером, содержащимся в области позиционирования маски или покрывающей ее.Если изображение не имеет собственных пропорций, оно отображается с размером области позиционирования маски.

Если размер маски равен авто или авто авто :

Если изображение имеет оба внутренних размера, оно отображается с этим размером. Если он не имеет внутренних размеров и внутренних пропорций, он отображается с размером области позиционирования маски. Если у него нет размеров, но есть пропорция, он отображается так, как если бы вместо него было указано , содержащее .Если изображение имеет одно внутреннее измерение и пропорцию, оно отображается с размером, определяемым этим одним измерением и пропорцией. Если изображение имеет одно внутреннее измерение, но не имеет пропорции, оно отображается с использованием внутреннего измерения и соответствующего измерения области позиционирования маски.

Если размер маски имеет один компонент auto и один компонент не auto :

Если изображение имеет внутреннюю пропорцию, то визуализируйте его с использованием указанного размера и вычисляйте другое измерение из указанного измерения и внутренней пропорции.Если изображение не имеет внутренней пропорции, используйте указанный размер для этого измерения. Для другого измерения используйте соответствующее внутреннее измерение изображения, если оно есть. Если такого внутреннего размера нет, используйте соответствующий размер области позиционирования маски.

Начальное значение авто
Применяется к всем элементам; В SVG это применяется к элементам контейнера, за исключением элемента defs и всех графических элементов
Унаследовано нет
Вычисленное значение, как указано, но с относительной длиной, преобразованной в абсолютную длину
Анимация type повторяемый список простого списка длины, процента или вычисления

Установка размера маски в процентах

таблицы BCD загружаются только в браузере

CSS Masks | WebKit

WebKit теперь поддерживает альфа-маски в CSS.Маски позволяют вам наложить на содержимое бокса узор, который можно использовать для выделения частей этого бокса на окончательном отображении. Другими словами, вы можете обрезать сложные формы на основе альфа-канала изображения.

Вот снимок трейлера фильма «Скоростной гонщик», прикрепленный к значку компаса Safari. Фактически это маска, применяемая к элементу

Мы ввели новые свойства, чтобы предоставить веб-дизайнерам возможность управления этими масками и способами их применения.Новые свойства аналогичны уже существующим свойствам background и border-image.

-webkit-mask (фон)
-webkit-mask-attachment (фон-вложение)
-webkit-mask-clip (background-clip)
-webkit-mask-origin (background-origin)
-webkit-mask- изображение (фоновое изображение)
-webkit-mask-repeat (фон-повтор)
-webkit-mask-Composite (background-complex)
-webkit-mask-box-image (border-image)

Использование маски приводит к созданию контекста наложения (аналогично тому, как работают непрозрачность и преобразования).Таким образом, маска будет перекрывать дочерний элемент и всех его потомков и, как минимум, выбивает все, что находится за пределами рамки объекта.

С точки зрения веб-дизайнера, думайте о маске, как о конструировании фона и изображения границы коробки. Несколько фонов накладываются друг на друга (возможно, накладываются друг на друга) со своими собственными правилами укладки и обрезки. Затем изображение границы можно растянуть или выложить плиткой на фон.

Окончательное результирующее изображение, созданное путем объединения всех изображений-масок, их мозаичного размещения, растягивания и т. Д., Затем становится маской, используемой для обрезки содержимого. Значение альфа 0 в маске означает, что рисовать ничего не нужно. Альфа-значение 1 означает, что контент должен отображаться нормально. Все, что находится между ними, оказывается частично прозрачным.

Одно из ключевых различий между mask-box-image и его эквивалентом-изображением-рамкой заключается в том, что оно не пытается подогнать себя под ширину границы.Он просто визуализирует немасштабированные углы и мозаику / растягивает себя в рамку без учета самой границы. Это позволяет вам легко использовать эффекты изображения из девяти частей в качестве масок для элементов без границ (часто изображений или видеоэлементов).

Вот два примера изображений. Исходное изображение, которое мы хотим замаскировать, а затем изображение, которое мы будем использовать в качестве маски.

Мы можем разместить маску на элементе изображения, просто сделав следующее:

Результат выглядит так:

CSS-градиентов также можно использовать в качестве источника изображения маски.В следующем примере линейный градиент используется для достижения эффекта затухания. Например:

Маски учитывают кривые радиуса границы объекта. Мы можем добавить border-radius к предыдущему примеру и получить эффект затухания градиента с закругленными углами.

изображений SVG можно использовать в качестве масок. Например, частично прозрачный круг:

можно применить как маску:

Конечный результат показан ниже:

При создании масок в вашем распоряжении вся мощь синтаксиса множественного фона и изображения границы!

Как обычно, оставляйте отзывы в комментариях и сообщайте об ошибках, обнаруженных вами, на http://bugs.webkit.org/.

CSS {В реальной жизни}

Каким-то образом я до недавнего времени ускользал от того, что функция CSS element () поддерживается в Firefox.На самом деле, это было довольно давно (хотя префикс все еще нужен). «Что такое функция element ()?», Я слышу, как вы плачете. Это способ визуализировать элемент HTML как значение изображения для использования в нашем CSS. В примере, приведенном на MDN, в качестве фонового изображения используется изображение, отрендеренное на . Это довольно интересный вариант использования, хотя API-интерфейс CSS Paint уже позволяет нам создавать рабочий лист рисования и использовать его в нашем CSS — ознакомьтесь с этим руководством Темани Афифа. Возможно, это одна из причин, по которой поддержка браузеров, похоже, прекратилась?

Элемент

() как маска

Меня интересует возможность использования любого элемента , в частности, в качестве маски для другого.Примером может служить текстовый элемент, например заголовок. Мы можем применить элемент как маску, указав его ID:

.
  img {
маска-изображение: -moz-element (#mask);
}

Что классно в маскировке, так это то, что она ведет себя так же, как фон. Мы можем применить такие свойства, как mask-size , mask-repeat и т. Д., Чтобы получить желаемый эффект.

В этой демонстрации я использую заголовок (с примененным градиентом) в качестве маски изображения.

См. Перо Маскирование одного элемента другим, Мишель Баркер (@michellebarker) на CodePen.

Доступность

Здесь есть некоторые очевидные проблемы, не в последнюю очередь в отношении доступности. Что больше всего нравится тем, кто использует программу для чтения с экрана? Если текстовая маска повторяется несколько раз, не лучше ли иметь несколько элементов? Или предпочтительно использовать aria-hidden , чтобы полностью скрыть элемент от программы чтения с экрана и описать полученный эффект каким-либо другим способом (например, aria-label или aria-labelledby , например). В любом случае

может быть неправильным выбором.Ответы на эти вопросы всегда будут зависеть от контекста, который различается от проекта к проекту.

Другая проблема — визуальное сокрытие исходного элемента. Поскольку мы используем его как маску, мы можем не захотеть отображать оригинал. Возможно, вы привыкли использовать служебный класс для визуального скрытия элементов, при этом гарантируя, что они все еще могут быть прочитаны программным обеспечением для чтения с экрана:

 . Визуально скрытый {
clip: rect (0 0 0 0);
clip-path: вставка (50%);
высота: 1 пикс;
переполнение: скрыто;
позиция: абсолютная;
белое пространство: nowrap;
ширина: 1 пикс;
}

(у Скотта О’Хара есть дополнительная информация об этом и других методах сокрытия контента.)

В данном случае это не сработает, поскольку сделает элемент — и, следовательно, нашу маску — невидимым! В демоверсии я прибавил, чтобы скрыть это за кадром:

  h2 {положение 
: абсолютное;
осталось: -100%;
}

Анимация

Еще один интересный вариант использования — использование анимированного элемента в качестве маски. Однако производительность довольно низкая, как мы видим из этой демонстрации. Но гораздо лучше использовать его в качестве перехода:

См. Перо Маскирование элемента с помощью анимированного элемента Мишель Баркер (@michellebarker) на CodePen.

Нужен ли нам element ()?

Стоит отметить, что в настоящее время мы можем добиться многих из этих эффектов с помощью SVG. Но как человек, которому ничего не нравится больше, чем возиться с CSS, я бы хотел увидеть широкую поддержку element () , как минимум для творческого кодирования, и, несомненно, существует множество вариантов использования, которые я еще не рассмотрел.

Винсент Де Оливейра недавно написал отличную статью, в том числе несколько креативных примеров. Некоторые демонстрации в современных браузерах кажутся неработоспособными, но есть видео, и здорово получить вдохновение для того, что может быть возможным.

В настоящее время в спецификации отмечено несколько проблем, но было бы здорово, если бы некоторые из них были решены, а спецификация продвинулась вперед.

13 Примеры масок CSS

Коллекция бесплатных масок CSS примеров кода из Codepen и других ресурсов.

Автор
  • Джошуа ван Бокстель
О коде

Свитер Swag

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

отзывчивый: да

Зависимости: jquery.js

О коде

Зернистая градиентная капля с фильтрами, маскированием и смешиванием

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

отзывчивый: да

Зависимости: —

Автор
  • Темани Афиф
О коде

Обтравочная маска

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

отзывчивый: да

Зависимости: —

Автор
  • Картик Тхакур
О коде

Маска CSS

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

отзывчивый: да

Зависимости: gsap.js

Автор
  • Ли Мартин
О коде

CAAMP Силуэт

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

Адаптивный: нет

Зависимости: —

Автор
  • Джей Фристоун
О коде

Кнопка вырезания CSS с композитной маской

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

отзывчивый: да

Зависимости: —

Автор
  • @keyframers
О коде

Переход по круговой маске с CSS

Круговой переход изображения с использованием масок CSS, некоторых необычных текстовых эффектов и отслеживания положения мыши с помощью переменных CSS.

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

отзывчивый: да

Зависимости: —

О коде

Анимация наведения кнопки CSS-маски

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

отзывчивый: да

Зависимости: —

О коде

Роликовый погрузчик Infinity на чистом CSS с Houdini Magic

Совместимые браузеры: Chrome, Edge, Opera, Safari

отзывчивый: да

Зависимости: —

Автор
  • Крис Нил
Сделано из
  • HTML / CSS (SCSS) / JS (Babel)
О коде

Анимированная маска-изображение CSS Градиент

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

отзывчивый: да

Зависимости: —

О коде

Возможное будущее

Удивительный эффект маски, только CSS.

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

Адаптивный: нет

Зависимости: —

Автор
  • Фабио Оттавиани
О коде

Анимация отображения маски изображения

Прокрутите вниз, чтобы открыть изображение.

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

отзывчивый: да

Зависимости: jquery.js

Автор
  • Винсент Де Оливейра
О коде

Применение маски CSS и SVG

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

отзывчивый: да

Зависимости: —

mask-type CSS 官方 教程 _w3cschool

mask-type

Свойство CSS mask-type определяет, используется ли маска, определенная элементом SVG , как яркость или альфа-маска .Это относится к элементу . Его можно переопределить свойством режима маски, которое имеет тот же эффект, но применяется к элементу, в котором используется маска.

Синтаксис

 / * Значения ключевых слов * /
тип маски: яркость;
тип маски: альфа;

/ * Глобальные значения * /
тип маски: наследование;
тип маски: начальная;
тип маски: не задано;
 

Значения

яркость
Это ключевое слово, указывающее, что связанное изображение маски является маской яркости, то есть при ее применении должны использоваться его относительные значения яркости.
альфа
Это ключевое слово, указывающее, что связанное изображение маски является альфа-маской, то есть значения его альфа-канала должны использоваться при его применении.

Формальный синтаксис

 яркость | альфа 

Примеры

Давайте применим следующий прямоугольник в качестве маски:

  

, что приведет к следующему квадрату:

в это поле:

Результатом, если ваш браузер поддерживает свойство, с другим значением типа маски , примененным к элементу , будут эти два разных квадрата:

маска- тип: альфа; маска-тип: яркость;

Технические характеристики

Совместимость с браузером

Функция Chrome Firefox (Gecko) Internet Explorer Safari 9036 поддержка (для SVG) 24.0 35,0 (35,0) [1] Нет поддержки 15,0 7
Применимо к элементам HTML Нет поддержки 35,0 (35,0) [1] Нет поддержки Нет поддержки?
Функция Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
Базовая поддержка (для SVG)? 35.0 (35.0) [1] Нет поддержки 15.0 Нет поддержки
Применяется к элементам HTML?????

[1] Доступно с Gecko 20 (Firefox 20.0 / Thunderbird 20.0 / SeaMonkey 2.17) за предпочтением layout.css.masking.enabled , по умолчанию false . Это предпочтение было удалено в Gecko 52 (Firefox 52.0 / Thunderbird 52.0 / SeaMonkey 2.49) (см. Ошибку 1308239).

См. Также

  • Другие свойства, связанные с маской: mask
.

alexxlab

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *