<!--

트랜지션과 애니메이션 다른점

트랜지션은 시작점과 끝점만 존재한다.

하지만 애니메이션은 시작점과 중간점, 끝점이 존재한다.

 

1.애니메이션 등록

    @keyframe 애니메이션명 {

        0% {스타일시트 적용}

        50% {스타일시트 적용}

        100% {스타일시트 적용}

    }

2.애니메이션 적용

    선택자 {animation:애니메이션명 진행시간 가속도 지연시간 반복횟수 방향지정;}

    반복횟수:infinite(무한반복), 숫자(반복횟수를 숫자로 지정)

    방향지정:normal(좌>우), alternate(좌>우>좌)

 

-->

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title></title>

<style>

    *{margin:0padding:0box-sizing:border-box;}

    divwidth250pxheight250pxbackground#000;

        animation:ani 3s ease-in-out infinite alternate;

    }

    @keyframes ani

        0% {transform:translate(0,0rotate(0deg);}

        50% {

            transform:translate(200px,0rotate(90deg);

            border-radius:50%;

        }

        100% { transform:translate(600px0rotate(360deg);}

    }

</style>

</head>

<body>

    <div></div>

</body>

</html>

 

---------------------------

 

 

<!--

※ 스타일시트 속성

1.박스 속성

display 속성: 박스의 유형(none:박스제거, block, inline-block, inline, flex)을 변경하는 속성

width 속성: 박스의 너비값 지정(데스크탑:px, 모바일:% / 부모요소:px, 자식요소:%)

height 속성: 박스의 높이값 지정(풀스크린:vh/ px)

margin 속성: 박스 외부 여백 지정(박스를 움직여서 배치)

padding 속성: 박스 내부 여백 지정(웹 콘텐츠를 수직중앙정렬, 박스 크기 확장)

border 속성: 박스 테두리 지정 

border-radius : 박스의 형태를 변경 (모서리를 둥글게 처리)

box-sizing 속성: 박스의 너비와 높이에 padding과 border의 포함여부를 지정

box-shadow 속성: 박스의 그림자 지정 (0 0 0 20px rgba(0,0,0,0.3))

 

justify-content 속성: 아이템의 수평정렬(space-between)

align-items 속성: 아이템의 수직 정렬(center)

 

2.위치 속성

position 속성: 박스의 배치를 좌표값으로 지정(relative: 좌표의 기준점을 변경, absolute: 박스를 절대좌표로 위치/박스를 겹침, fixed:박스를 고정)

left 속성

right 속성

top 속성

bottom 속성

 

3.글자 속성

font-family 속성

font-size 속성

color 속성

font-weight 속성

font-style 속성

text-align 속성

line-height 속성

text-decoration 속성

text-transform 속성

text-shadow 속성

letter-spacing 속성

word-spacing 속성

 

4.배경 속성

background 속성(배경색상 배경이미지 반복여부 위치)

background-attachment  속성: fixed(고정)

background-size 속성: cover(박스의 크기에 맞춘다)

-->

 

 

-----

 

 

<!--

디바이스(단말기)의 크기에 따라 최적화된 화면을 제공한다.

모바일 단말기의 웹부라우저 해상도(385px, 420px, 768px, 1024px)에 맞춰라.

-->

 

<!DOCTYPE html>

<html lang="ko">

<head>

<meta charset="utf-8">

<meta name="viewport" content="width=divice-width, initial-scale=1">

<title>애니메이션실습문제</title>

<style>

*{margin0padding0box-sizingborder-box;}

header {

    displayflex;

    justify-contentspace-between;

    align-itemscenter;

    height70pxpadding0 50pxbackground#000;

}

h1 acolor:#ffftext-decorationnone; }

h1 a:hover{

    animation:ani 1s infinite;

    cursorpointer;

}

@keyframes ani {

    0% {colorred;}

    25% {colorpurple;}

    50% {colorblue;}

    75% {colorgreen;}

    100% {colorbrown;}

}

 

ul { list-stylenone;

    displayflex;

}

ul li a {

    display:blockheight40pxmargin:0 10pxpadding8px 30px

    text-decorationnone

    border1px solid transparent;

    color#fff;

    transitionlinear 0.15s; }

 

li a:hover{

    border1px solid #fff;

    border-radius25px;

    backgroundlinear-gradient(to bottomrgb(2012312550%rgb(7816021450%rgb(8410421951%rgb(136183255100%);

    color#000;

    text-shadow0 1px 1px #fff;; 

}

 

</style>

 

</head>

 

<body>

 

    <header>

        <h1><a href="#">회사로고</a></h1>

        <nav>

                <ul>

                <li><a href="#">메뉴1</a></li>

                <li><a href="#">메뉴2</a></li>

                <li><a href="#">메뉴3</a></li>

                <li><a href="#">메뉴4</a></li>

            </ul>

        </nav>

    </header>

</body>

</html>

 

'Coding' 카테고리의 다른 글

CSS 선수학습(13)  (0) 2021.07.27
CSS 선수학습(12)  (0) 2021.07.27
CSS 선수학습(10)  (0) 2021.07.21
CSS 선수학습(9)  (0) 2021.07.21
CSS 복습/실습  (0) 2021.07.20

+ Recent posts