animation에서 놀기 - CSS Clip Path-
이전 기사 에서 이미지를 잘라내는 방법으로 mask 속성을 소개했습니다.
오늘은 또 다른 방법인 clip-path 속성에 대해 소개하겠습니다.
1. 완성판
See the Pen 사쿠라 by hiroya iizuka ( @ 히로야 요시즈카 )
on CodePen .
2. 참고문헌
CSS Clip Path Hover Circle Hover Effects | HTML CSS
CSS Clip-Path Maker
Introduction to Clipping Using clip-path in CSS
3. 분해해 본다
❶.
마크업하자.
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8" />
<link rel="stylesheet" href="css/styles.css" />
</head>
<body>
<div class="container">
<div class="picture"></div>
</div>
</body>
</html>
body {
margin: 0;
padding: 0;
}
.container {
position: relative;
width: 100%;
height: 100vh;
display: flex;
align-items: center;
justify-content: center;
}
.picture {
width: 100%;
height: 100%;
background: url("../img/wa.png");
background-repeat: no-repeat;
background-size: cover;
}
예쁘네요.
❷.
이제 clip-path 속성을 사용합시다.
.picture {
width: 100%;
height: 100%;
background: url("../img/wa.png");
background-attachment: fixed;
background-size: cover;
clip-path: circle(40%);
}
단숨에 일본의 느낌이 나왔습니다. 세련되네요! Clip-Path 속성을 설명합니다.
·Clip- Path (참고문헌: MDN )
요소의 「어느 부분을 표시할까?」를 설정하는 클리핑 영역을 만드는 프로퍼티입니다.
영역의 내부는 표시되고 외부는 숨겨집니다.
clip-path: <>에는 polygon, circle, ellipse 등의 지오메트리 값과 SVG의 clip-path 요소를 지정하는 url을 포함할 수 있습니다. 또한
참고문헌의 발전기를 사용하면 자신의 생각대로 이미지를 잘라낼 수 있을 것이다. 조속히 사용해 봅시다.
타원을 만들었습니다. 왼쪽 하단의 코드를 복사하여 CSS에 붙여넣습니다.
.picture {
width: 100%;
height: 100%;
background: url("../img/wa.png");
background-attachment: fixed;
background-size: cover;
clip-path: ellipse(47% 57% at 71% 73%);
}
당신이 원하는 모양으로 이미지를 클리핑 할 수있었습니다.
그 외에도 연설 거품 형태이거나 별 모양이 있기 때문에 웹 사이트의 제목이나 삽입에 사용할 수 있네요.
❸.
clip-path에 대해 좀 더 깊이 살펴 보겠습니다.
clip-path: ellipse(130px 140px at 10% 20%);
at 을 사용하여 position 의 위치를 결정할 수 있습니다.
(position: absolute 때와 같은 배치를 결정하는 방법입니다.)
왼쪽 위, clip-path: ellipse(47% 57% atat 0% 0%);
오른쪽 하단이 clip:path: ellipse(47% 57% at 80% 100%);
됩니다.
❹.
이제 애니메이션을 만들어 봅시다.
이 at ~ 를 keyframe 으로 이동합니다.
body {
margin: 0;
padding: 0;
background: linear-gradient(to right, #200122, #6f0000); // 変更
}
.picture {
width: 100%;
height: 100%;
background: url("../img/wa.png");
background-attachment: fixed;
background-size: cover;
clip-path: circle(40%);
animation: clipmove 12s ease-in-out infinite;
}
@keyframes clipmove {
0%,
100% {
clip-path: circle(10% at 0 0);
}
50% {
clip-path: circle(80% at 100% 100%);
}
}
See the Pen 사쿠라 by hiroya iizuka ( @ 히로야 요시즈카 )
on CodePen .
<script async=""src="https://static.codepen.io/assets/embed/ei.js"/>
이와 같이, clip-path 프로퍼티 덕분에, photoshop 과 같은 이미지 조작을 할 수 있어, 매우 훌륭하네요.
그럼 다시 내일~
Reference
이 문제에 관하여(animation에서 놀기 - CSS Clip Path-), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/duka/items/e65354f103ebc9280959텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)