연말까지 매일 웹 사이트를 꾸준히 만드는 대학생~ 33일째 CSS에서 시소 만들기~
10336 단어 CSS
입문
안녕하세요.@70days_js.
알아차리면 11월은 이미 마지막 단계다.
그럼 오늘 css로 시소를 만들어 봤어요.
오른쪽으로 이 버튼은 오른쪽으로, 왼쪽으로 왼쪽으로 기울어져 있습니다.
오늘이 33일째다.(2019/11/20)
잘 부탁드립니다.
사이트 URL
한 일
css로 시소를 만들었어요.↓
html은 이런 느낌이에요.(전체)↓
<body>
<div id="left-button">left</div>
<div id="right-button">right</div>
<div class="bar-wrapper">
<span id="right-human"><img src="day33L.jpeg" alt="ガンジーの画像"></span>
<div class="bar"></div>
<span id="left-human"><img src="day33R.jpeg" alt="サンタクロースの画像"></span>
</div>
<div class="triangle"></div>
</body>
바디에서 4개의div를 만들고 위 2개는 버튼, 3번은 초밥&사람, 4번은 시소대(삼각형)를 만든다.어떻게 시소의 몽둥이와 인간을 동시에 기울일 수 있습니까
단지 css일 뿐, 버튼 호버로 다른 요소를 이동하면 어떻게 해야 하나요?
다방면의 고려를 거쳐 결국 이 구조가 형성되었다.
다음으로 우리는 중요한 부분만 순서대로 css를 설명한다.
우선 시소와 인간은 absolute와relative로 위치를 조정한다.
.bar-wrapper {
position: absolute;
top: 50%;
left: 50%;
width: 100vw;
height: 30px;
transform: translateX(-50%) translateY(-50%);
text-align: center;
}
#right-human {
position: relative;
top: -30px;
right: -100px;
}
#left-human {
position: relative;
top: -30px;
right: 100px;
}
호버에서 다른 요소를 이동하는 방법은 좀 번거롭지만 이런 느낌이다.↓#left-button:hover + #right-button + .bar-wrapper {
animation-name: left;
animation-duration: 3s;
}
#right-button:hover + .bar-wrapper {
animation-name: right;
animation-duration: 3s;
}
간접 선택기를 사용하기 때문에 html 측면에서 요소의 위치를 이동하면 움직이지 않습니다.이 근처에는 솔직히 미묘해서 앞으로 다른 방법을 생각해 보고 싶다고 쓰여 있다.애니메이션은 매우 간단하다.↓
@keyframes left {
0%{
transform: translateX(-50%) translateY(-50%) rotate(0deg);
}
80%{
transform: translateX(-50%) translateY(-50%) rotate(-15deg);
}
100%{
transform: translateX(-50%) translateY(-50%) rotate(0deg);
}
}
}
@keyframes right {
0%{
transform: translateX(-50%) translateY(-50%) rotate(0deg);
}
80%{
transform: translateX(-50%) translateY(-50%) rotate(15deg);
}
100%{
transform: translateX(-50%) translateY(-50%) rotate(0deg);
}
}
그냥 로테이트로 돌려요.마지막으로 시소를 지탱하는 삼각형의 제작 방법이다.
정삼각형이 아니라 좀 뾰족하게 썼다.
.triangle {
border-top: 80px solid transparent;
border-right: 20px solid transparent;
border-left: 20px solid transparent;
border-bottom: 80px solid black;
}
border의 top,right,left를 투명하게 하여 삼각형처럼 보입니다.정삼각형이 아닌 top와bottom은 크게 설정하고right와left는 작게 설정합니다.
감상
나는 더 활발한 것을 하고 싶지만, 기술이 좀 부족하다.
호버를 떠나면 순조롭게 돌아오는 게 아니라 돌아오는 곳을 개량하고 싶어요.
끝까지 읽어주셔서 감사합니다.내일도 투고할 테니 잘 부탁드립니다.
참고 자료
정말 감사합니다.
Reference
이 문제에 관하여(연말까지 매일 웹 사이트를 꾸준히 만드는 대학생~ 33일째 CSS에서 시소 만들기~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/70days_js/items/f99e5b54c0b1f3a71948텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)