Блог веб разработки статьи | видеообзоры | исходный код

Блог веб разработки статьи | видеообзоры | исходный код

webfanat вконтакте webfanat youtube

clip path css

clip path css

Всем привет. Сегодня мы с вами познакомимся со свойством clip-path c помощью которого можно определять какая часть элемента будет отображена. Итак, поехали!

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

<style>
    img{

        float:left;
        margin-right:100px;
    }
    .block{
        background:green;
        display:flex;
        justify-content: center;
        align-items: center;
        width:200px;
        height:200px;
    }
    .block p{
       color:#fff;
    }
</style>
<img src="img/people.jpg" >
<div class="block">
    <p>
        Свойство clip-path
    </p>
</div>
Андрей Грибин и блок с текстом

Здесь у нас заданы картинка и блок с текстом.

Теперь давайте применим к блоку и картинке свойство clip-path со значением circle():

img, .block{
    clip-path: circle(40%);
}
clip-path:circle

Как видите картинка и блок стали у нас круглыми. В качестве значения свойство clip-path принимает функцию circle() в которую мы передаем значение в 40%.

Данная функция отсекает область относительно центра элемента образуя круг. В нашем случае 40% это оставшаяся видимая часть элемента.

Данная функция может принимать аргументы и в таком виде.

clip-path: circle(200px at 200px 100px);
clip-path:circle(200px at 200px 100px)

Тем самым образуя интересные эффекты.

Похожая функция ellipse() обрезает часть элемента и делает его в форме овала.

clip-path: ellipse(40%);
clip-path: ellipse()

Вот наше изображение и блок стали отображаться в виде овала.

Значения в функции ellipse() можно указывать и в таком виде

clip-path: ellipse(200px 200px at 15% 10%);
clip-path:ellipse(200px 200px at 15 10)

Получаем такой интересный эффект.

На этом возможности свойства clip-path не ограничиваются. Все то что мы сейчас делали вполне можно сделать через свойство border-radius.

Переходим к более сложным фигурам.

clip-path: polygon(100px 10px, 40px 198px,  190px 78px,  10px 78px, 160px 198px);

Те кто знаком с svg я думаю интуитивно поймут эту строчку.

clip-path:polygon

Здесь мы нашу картинку и блок отрисовали в виде звездочки через функцию polygon(). Данная функция по точкам позволяет отрисовывать многоугольные фигуры практически любого уровня сложности. Здесь главное терпение и опыт.

Еще svg изображения мы можем указывать в виде значений свойства clip-path:

clip-path: url(path_svg.svg#c1);

В результате все отрисованные контуры изображения path_svg.svg применятся к нашей картинке и блоку.

Напоследок рассмотрим функцию inset():

clip-path: inset(25px 20px);
clip-path:inset

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

Свойство clip-path поддерживается во всех современных браузерах за исключением IE. Так что пользуйтесь на здоровье. Дополнительную информацию вы можете найти

здесь.

На этом данная статья подошла к концу. Если остались вопросы пишите их в комментариях или группе

вк.

Я с вами прощаюсь. Желаю вам успехов и удачи! Пока.

Оцените статью:

Статьи

Комментарии

Внимание!!! Комментарий теперь перед публикацией проходит модерацию

Все комментарии отправлены на модерацию

Реклама

Запись экрана

Данное расширение позволяет записывать экран и выводит видео в формате webm