아주 간단하면서도 재미있는 아이디어군요 ㅎㅎ
내용은 별로 안되니 간단하게 정리해보면,
display 는 flex, 높이 단위는 vh 가 사용된걸 볼수 있구요
원모양을 만들기 위해서 border-radius : 50% 로 사용했구요.
작동 원리는 마우스의 X 좌표에 대응하여 옆으로 길게 붙어있는 프사이미지에서
보여줄 구간만 이동하면서 이미지가 교체된것처럼 보이게 하는군요.
아이디어 참고하셔서 잘 응용해보시기 바랍니다.ㅎㅎ
* CSS
body {
background: black;
display: flex;
align-items: center;
justify-content: center;
height: 100vh;
overflow: hidden;
}
div {
border:5px solid white;
width: 150px;
height: 150px;
border-radius: 50%;
background: url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/127738/faces.jpg) left top / auto 150px repeat;
}
* Javascript
//Change my little head
var face = document.querySelector("div");
function updateHead(e){
var mouseX = Math.floor((window.innerWidth-e.clientX)/(window.innerWidth)*9);
face.style.backgroundPosition = mouseX*150+"px center";
};
window.addEventListener("mousemove", updateHead);
간단한 사용 예제 및 Demo
See the Pen Face swap by Louis Hoebregts (@Mamboleoo) on CodePen.
'Dev. 웹 > Front-end 웹개발을 위한 codepen' 카테고리의 다른 글
[2015.12.09] box-shadow 를 활용한 3D app store 버튼 (0) | 2015.12.09 |
---|---|
[2015.12.07] download button design - progress bar 진행상태가 합쳐진 다운로드 버튼 (0) | 2015.12.07 |
[2015.12.01] react.js 를 활용한 To-Do List (0) | 2015.12.01 |
[2015.11.27] CSS3 vh, vw (viewport units) 를 활용한 반응형 글상자 ( proportional box xovering viewport ) (0) | 2015.11.27 |
[2015.11.25] CSS3 Music Player UI (0) | 2015.11.25 |