투케이2K

39. (html/css/javascript/jquery) keyframes 사용해 css 속성 조작해 애니메이션 (animation) 동작 수행 실시 본문

FrontEnd

39. (html/css/javascript/jquery) keyframes 사용해 css 속성 조작해 애니메이션 (animation) 동작 수행 실시

투케이2K 2021. 6. 28. 08:56
반응형

/* =========================== */

[ 개발 환경 설정 ]

개발 툴 : Edit++

개발 언어 : html, css, js, jquery

/* =========================== */

/* =========================== */

[소스 코드]

 

<!DOCTYPE HTML>
<!-- 자바스크립트 차단된 콘텐츠 자동 허용 실시 -->
<!-- saved from url=(0013)about:internet -->

<!-- 표시 언어 지정 -->
<html lang="ko">

<!-- 헤더 정의 부분 -->
<head>
    <title>HTML TEST</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">  
    

    <!-- 내부 CSS 스타일 지정 -->
    <style>
		/* 
		[CSS 요소 설명] 
		1. font-family : 폰트 표시 형태 스타일 지정
		2. width : 가로 크기 지정
		3. height : 세로 크기 지정
		4. margin : 마진 (외부) 여백 설정
		5. padding : 패딩 (내부) 여백 설정
		6. border : 테두리 (선) 표시 설정
		7. background : 배경 표시 설정
		8. overflow : 범위를 벗어난 콘텐츠 표시 여부 설정 (스크롤)
		9. float : 정렬 기준 설정
		10. div : 레이아웃 표시 블록
		11. position : 레이아웃 위치 정렬 설정
		12. display : 해당 div 영역을 표시 여부 설정		
		13. vertical-align : middle; : 테이블 셀 영역에서 텍스트 수직 정렬 설정
		14. table-layout : 표 크기 고정 실시
		15. font-size : 텍스트 사이즈 지정
		16. white-space : 스페이스와 탭, 줄바꿈, 자동 줄바꿈 처리 설정	
		17. text-overflow : 텍스트 초과 시 설정
		18. box shadow : 레이아웃에 그림자 효과를 부여합니다
		19. opacity : 레이아웃 불투명도 설정합니다	
		20. keyframes : css 속성을 사용해 애니메이션을 동작할 수 있습니다
		*/
				    			 	
    	

		/* html, body 영역 스타일 지정 */
		html, body{
			width : 100%;
			height : 100%;
			margin : 0;
			padding : 0;
			border : none;	
			
			/* 스크롤바 표시 지정 */
			overflow : auto;					
		}
		
		

		/* body 스크롤바 메인 스타일 지정 */
		body::-webkit-scrollbar {
			/* 스크롤바 너비 지정 */
			width: 10px;
			
			/* 스크롤바 배경 색상 지정 */
			background-color: #c1c1c1;
		}
		/* body 스크롤바 thumb 스타일 지정 */
		body::-webkit-scrollbar-thumb {					
			/* 스크롤바 thumb 색상 지정 */
			background-color: #444444;
		}



		.container_common{
			width : 50%;
			height : 10%;
			margin : 0 auto;
			padding : 0;
			border : none;
			background-color : none;

			/* box shadow 그림자 설정 */
			box-shadow: 5px 5px 5px 5px #000000; 

			/* 브라우저에서 화면 터치 시 파란박스 하이라이트 제거 */
			-webkit-tap-highlight-color : rgba(0,0,0,0);

			/* div 테두리 영역 둥글게 설정 */
			border-radius : 20px;
			
			/* display 설정 : 텍스트 수직 정렬 */
			display : table; 
			
			/* 텍스트 내용 길면 숨김 처리 하기 위함 */
			table-layout: fixed;

			/* 불투명도 설정 */
			opacity: 1;
		}
		.txt_common{
			/* 텍스트 가로 정렬 지정 */
			text-align : center; 
			
			/* 텍스트 색상 지정 */
			color : #000000;
			
			/* 텍스트 굵기 지정 */
			font-weight : bold;
			
			/* 텍스트 사이즈 지정 */        	
			font-size : 150%;
        	
			/* 텍스트 수직 정렬 실시 */        	        	 	
			display : table-cell;
			vertical-align : middle;
			
			/* 텍스트 내용 길면 숨김 처리*/
			overflow : hidden;
			text-overflow : ellipsis;
			white-space : nowrap;
			
			/* a 태그 밑줄 없애기 */
			text-decoration : none;		
		}
        
        

		/* 컨테이너 배치 정렬 실시 */
		#one_container {						
			float : top;
			position : relative; 
			top : 15%;
			left : 0%;
		}
		/* keyframe 애니메이션 함수 */
		@keyframes one_animation {
			/* 0%는 시작 부분 */
			/* 50%는 중간 부분 */
			/* 100%는 마지막 부분 */
			/* 100% 까지 수행 완료 후 다시 원본 스타일로 복귀 */			
			100% { background-color: #00ff00; }
		}
		
		

		/* 컨테이너 배치 정렬 실시 */
		#two_container {						       								
			float : top;
			position : relative; 
			top : 20%;
			left : 0%;
		}
		/* keyframe 애니메이션 함수 */
		@keyframes two_animation {
			/* 0%는 시작 부분 */
			/* 50%는 중간 부분 */
			/* 100%는 마지막 부분 */
			/* 100% 까지 수행 완료 후 다시 원본 스타일로 복귀 */			
			100% { background-color: #ff00ff; }
		}
		
		

		/* 컨테이너 배치 정렬 실시 */
		#three_container {						
			float : top;
			position : relative; 
			top : 25%;
			left : 0%;
		}
		/* keyframe 애니메이션 함수 */
		@keyframes three_beafore_animation {
			/* 0%는 시작 부분 */
			/* 50%는 중간 부분 */
			/* 100%는 마지막 부분 */
			/* 100% 까지 수행 완료 후 다시 원본 스타일로 복귀 */			
			100% { background-color: #0000ff; }
		}
		/* keyframe 애니메이션 함수 */
		@keyframes three_after_animation {
			/* 0%는 시작 부분 */
			/* 50%는 중간 부분 */
			/* 100%는 마지막 부분 */
			/* 100% 까지 수행 완료 후 다시 원본 스타일로 복귀 */
			0% { background-color: #ff0000; }			
			50% { background-color: #00ff00; }			
			100% { background-color: #000000; }
		}
		
		

		/* 컨테이너 배치 정렬 실시 */
		#four_container {						
			float : top;
			position : relative; 
			top : 30%;
			left : 0%;
		}
		/* keyframe 애니메이션 함수 */
		@keyframes four_animation {
			/* 0%는 시작 부분 */
			/* 50%는 중간 부분 */
			/* 100%는 마지막 부분 */
			/* 100% 까지 수행 완료 후 다시 원본 스타일로 복귀 */
			0% { opacity: 0; }			
			50% { opacity: 0.5; }			
			100% { opacity: 1; }
		}
		      				                          
    </style>

</head>


<body>

<!-- 레이아웃 : 애니메이션 1회 실행 -->
<div id = "one_container" class="container_common" style="animation: one_animation 3s;">
	<p id = "a_one" class="txt_common">one</p>
</div>


<!-- 레이아웃 : 애니메이션 무한 반복 -->
<div id = "two_container" class="container_common" style="animation: two_animation infinite 3s;">
	<p id = "a_two" class="txt_common">two</p>
</div>


<!-- 레이아웃 : 다중 애니메이션 : three_beafore_animation 3초동안 실행 후 > 3초간 대기 후 > three_after_animation 5초간 수행 -->
<div id = "three_container" class="container_common" style="animation: three_beafore_animation 3s, 5s three_after_animation 3s;">
	<p id = "a_three" class="txt_common">three</p>
</div>


<!-- 레이아웃 : 애니메이션 : 서서히 나타남 -->
<div id = "four_container" class="container_common" style="animation: four_animation infinite 3s;">
	<p id = "a_four" class="txt_common">four</p>
</div>

</body>

</html>

/* =========================== */

/* =========================== */

[결과 출력]

/* =========================== */

/* =========================== */

[요약 설명]

/*

[CSS 요소 설명]

1. font-family : 폰트 표시 형태 스타일 지정

2. width : 가로 크기 지정

3. height : 세로 크기 지정

4. margin : 마진 (외부) 여백 설정

5. padding : 패딩 (내부) 여백 설정

6. border : 테두리 (선) 표시 설정

7. background : 배경 표시 설정

8. overflow : 범위를 벗어난 콘텐츠 표시 여부 설정 (스크롤)

9. float : 정렬 기준 설정

10. div : 레이아웃 표시 블록

11. position : 레이아웃 위치 정렬 설정

12. display : 해당 div 영역을 표시 여부 설정

13. vertical-align : middle; : 테이블 셀 영역에서 텍스트 수직 정렬 설정

14. table-layout : 표 크기 고정 실시

15. font-size : 텍스트 사이즈 지정

16. white-space : 스페이스와 탭, 줄바꿈, 자동 줄바꿈 처리 설정

17. text-overflow : 텍스트 초과 시 설정

18. box shadow : 레이아웃에 그림자 효과를 부여합니다

19. opacity : 레이아웃 불투명도 설정합니다

20. keyframes : css 속성을 사용해 애니메이션을 동작할 수 있습니다

*/

/* =========================== */

/* =========================== */

[파일 첨부]

a_test_default.html
0.01MB

/* =========================== */

 

반응형
Comments