Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- You are importing createRoot from "react-dom" which is not supported. You should instead import it from "react-dom/client"
- 리액트
- 인프런
- Do it 자바스크립트 + 제이쿼리 입문
- spring-boot
- 모두의 파이썬
- ReactDOM.render is no longer supported in React 18. Use createRoot instead
- 따라하며 배우는 노드 리액트 기본 강의
- props
- Spring-Framework
- node.js 설치
- 거북이 대포 게임
- react오류
- 웹 게임을 만들며 배우는 리액트
- googleColaboratory
- 모던자바스크립트
- 노드에 리액트 추가하기
- 계산맞추기 게임
- 자바스크립트
- 타자 게임 만들기
- Python
- react
- node.js로 로그인하기
- JS 개념
- DB Browser
- intellij
- vs code 내 node
- Concurrently
- Colaboratory 글자 깨짐
- intllij 내 Bean을 찾지 못해서 발생하는 오류
Archives
- Today
- Total
프로그래밍 삽질 중
[유튜브 강의]스크립트 없이 만드는 자동 슬라이드 효과 /* transform:translateX */ [HTML+CSS{코남}] 공부 본문
과거 프로그래밍 자료들/Html&CSS
[유튜브 강의]스크립트 없이 만드는 자동 슬라이드 효과 /* transform:translateX */ [HTML+CSS{코남}] 공부
평부 2021. 6. 5. 00:01※ 학습 이유 : 메인화면에 넣은 움직이는 사진(+자동으로 넘기는 것도 포함) 화면 필요
※ 코드는 전적으로 코남님에게 있으며, 문제가 될 경우 내릴 예정
※ https://www.youtube.com/watch?v=idjslG3qpjs&t=651s (출처)
※ 스프링을 공부하고 있어 화면 표시 부분은 jsp로 진행
※ 총 진행 파일(html: ex.jsp / css: ex.css)
[구현 화면]
[html : ex.jsp]
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
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<!-- custom css file link -->
<link rel="stylesheet" href="ex.css">
<meta charset="UTF-8">
<title>자동 슬라이드</title>
</head>
<body>
<div class="slidebox">
<input type="radio" name="slide" id="slide01" checked>
<input type="radio" name="slide" id="slide02">
<input type="radio" name="slide" id="slide03">
<input type="radio" name="slide" id="slide04">
<ul class="slidelist">
<li class="slideitem">
<div>
<label for="slide04" class="left"></label>
<label for="slide02" class="right"></label>
<a><img src="images/slideimg01.jpg"></a>
</div>
</li>
<li class="slideitem">
<div>
<label for="slide01" class="left"></label>
<label for="slide03" class="right"></label>
<a><img src="images/slideimg02.jpg"></a>
</div>
</li>
<li class="slideitem">
<div>
<label for="slide02" class="left"></label>
<label for="slide04" class="right"></label>
<a><img src="images/slideimg03.jpg"></a>
</div>
</li>
<li class="slideitem">
<div>
<label for="slide03" class="left"></label>
<label for="slide01" class="right"></label>
<a><img src="images/slideimg04.jpg"></a>
</div>
</li>
</ul>
</div>
</body>
</html>
|
cs |
[css: ex.css]
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
* {
margin:0; /*브라우저 내 기본 설정값 초기화*/
padding: 0;/*브라우저 내 기본 설정값 초기화*/
box-sizing: border-box;
}
ul, li { /*ul, li의 리스트 스타일 제거*/
list-style: none;
}
/*슬라이드에 직접 적용되는 스타일*/
[name="slide"] { display: none; } /*클래스 slidebox 내 name="slide"부분 */
.slidebox {
max-width: 1000px;
width: 100%;
margin: 0 auto;
}
.slidebox img { /*자신의 넓이 이상으로 커지지 않도록 함, 반응형 사용 가능*/
max-width: 100%;
}
.slidebox .slidelist {
white-space: nowrap;
font-size:0; /*빈공간을 없애기 위함*/
overflow: hidden; /*초과해서 이미지가 나올 경우 나오지 않게 함*/
}
.slidebox .slideitem {
position: relative;
display: inline-block; /*세로 정렬을 가운데 맞추기 위함*/
vertical-align: middle;
width: 100%;
transition: all .35s; /*자연스러운 전환 속성을 위함*/
}
.slidebox .slideitem label {
position: absolute; /*자율 배치하는 값*/
z-index: 1; /*기본값 1*/
top: 50%;
transform: translateY(-50%); /*가운데 지정*/
padding: 20px;
border-radius: 50%; /*둥근 버튼 모양*/
cursor: pointer; /*마우스가 올라가면 커서가 포인터로 바뀌도록 함*/
}
label.left {
left: 20px;
background-color: white;
background-image:url('images/left-arrow.png');
background-position: center center;
background-size: 50%;
background-repeat: no-repeat;
}
label.right {
right: 20px;
background-color: white;/*강의에서는 #5f5f5f;*/
background-image:url('images/right-arrow.png');
background-position: center center;
background-size: 50%;
background-repeat: no-repeat;
}
[id="slide01"]:checked ~ .slidelist .slideitem {transform:translateX(0); animation:slide01 10s infinite}
[id="slide02"]:checked ~ .slidelist .slideitem {transform:translateX(-100%); animation:slide02 10s infinite}
[id="slide03"]:checked ~ .slidelist .slideitem {transform:translateX(-200%); animation:slide03 10s infinite}
[id="slide04"]:checked ~ .slidelist .slideitem {transform:translateX(-300%); animation:slide04 10s infinite}
@keyframes slide01 {
0% {left: 0%;} /*첫 번째 스크린*/
25% {left: 0%;} /*두 번째로 위치 이동*/
48% {left: -100%;} /*두 번째로 위치 이동, 두 번쨰 스크린*/
50% {left: -100%;}/*세 번째로 위치 이동*/
73% {left: -200%;}/*세 번째로 위치 이동, 세 번쨰 스크린*/
75% {left: -200%;}/*네 번째로 위치 이동, 네 번째 스크린*/
98% {left: -300%;} /*네 번째 스크린*/
100% {left:0%} /*첫 번째 스크린 이동*/
}
@keyframes slide02 {
0% {left: 0%;} /*첫 번째 스크린*/
23% {left: 0%;}
25% {left: -100%;}
48% {left: -100%;}
50% {left: -200%;}
73% {left: -200%;}
75% {left: 100%;}/*첫 스크린 이동*/
98% {left: 100%;} /*첫 스크린 이동*/
100% {left:0%}
}
@keyframes slide03 {
0% {left: 0%;} /*첫 번째 스크린*/
23% {left: 0%;}
25% {left: -100%;}
48% {left: -100%;}
50% {left: 200%;}
73% {left: 200%;}
75% {left: 100%;}/*첫 스크린 이동*/
98% {left: 100%;} /*첫 스크린 이동*/
100% {left:0%}
}
@keyframes slide04 {
0% {left: 0%;} /*첫 번째 스크린*/
23% {left: 0%;}
25% {left: 300%;}
48% {left: 300%;}
50% {left: 200%;}
73% {left: 200%;}
75% {left: 100%;}/*첫 스크린 이동*/
98% {left: 100%;} /*첫 스크린 이동*/
100% {left:0%}
}
|
cs |
[배운 점]
1. 코남님이 움직이는 기능은 보통 js를 많이 쓰는데 반해, css로만 구현한 것이 있어 이 부분을 배울 수 있었음
2. 특히 자동으로 사진을 넘기는 부분을 꼭 알고 싶었는데 유투브로 배울 수 있어서 즐거웠음
'과거 프로그래밍 자료들 > Html&CSS' 카테고리의 다른 글
[복습하기2] 메인 이미지, 글 작성 폼 만들기 (0) | 2021.09.05 |
---|---|
[복습하기1] 블로그 게시글 만들기 (0) | 2021.09.05 |
[유튜브 강의] footer 부분 Awa Melvine 강의 참고 (0) | 2021.06.04 |
[유투브 강의] 드림코딩 by 엘리님 반응형 웹 만들기 공부 (0) | 2021.06.03 |
HTML&CSS 예제(총 4개) (0) | 2021.05.21 |