JUST GO

[CSS] 속성 본문

CSS/학습내용

[CSS] 속성

root_go 2022. 10. 3. 16:38

background-image 속성

- 어떠한 요소의 배경 이미지를 지정하기 위해 사용한다.

- 이때 배경 이미지는 <img> 태그와 달리 태그가 아님으로 공간을 차지 하지 않는다.

- 항시 url("주소") 함수와 함께 사용한다. ("쌍따옴표 있어야함")

- 콤마(,)로 구분하여 여러개의 배경 이미지를 지정할 수 있는데, 먼저 적은 배경이미지가 위로 올라온다.

- 용법(한 개)

"선택자" {

background-image: url("이미지 주소");

}

- 용법(여러개)

"선택자" {

background-image: url("이미지 주소 1"), url("이미지 주소 2"),...;

}

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <title>background-image 속성</title>
    <style>
        .box {
            width: 30rem;
            height: 30rem;
            background-image: url("https://t3.daumcdn.net/thumb/R720x0.fjpg/?fname=http://t1.daumcdn.net/brunch/service/user/sBw/image/VQl7ZA_Qo_Qs-SrCYFg5HWTOPVw.jpg");
        }
        
    </style>
</head>
<body>
    <div class="box"></div>
</body>
</html>

background-position 속성

- 표시되는 배경 이미지의 기준이되는 위치를 지정한다.

- "background-image" 속성이 없다면 의미없음.

- 용법(한 개)

... {

background-position: [top|right|bottom|left|center];

}

- 용법(두 개)

... {

background-position: [top | bottom | center] [right | left | center];

}

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <title>background-position 속성</title>
    <style>
        .box {
            width: 100vw;
            height: 100vh;
            background-image: url("https://t3.daumcdn.net/thumb/R720x0.fjpg/?fname=http://t1.daumcdn.net/brunch/service/user/sBw/image/VQl7ZA_Qo_Qs-SrCYFg5HWTOPVw.jpg");
            background-position: center;
        }
        .box:hover {
            width: 30rem;
            height: 30rem;
        }
    </style>
</head>
<body>
    <div class="box"></div>
</body>
</html>

background-repeat 속성

- 배경 이미지의 반복과 관련된 설정이다.

- 값 repeat-x : X축으로만 반복한다.

- 값 repeat-y : Y축으로만 반복한다.

- 값 repeat : X축과 Y축으로 반복한다. (기본값)

- 값 no-repeat : 반복하지 않는다.

- 용법 (한 개)

...{

background-repeat: [repeat-x | repeat-y | repeat | no-repeat ];

}

- 용법 (두 개)

... {

background-repeat: [X축 반복 설정 : repeat | no-repeat] [Y축 반복 설정 : repeat | no-repeat];

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <title>background-position 속성</title>
    <style>
        .box {
            width: 100vw;
            height: 100vh;
            background-image: url("https://t3.daumcdn.net/thumb/R720x0.fjpg/?fname=http://t1.daumcdn.net/brunch/service/user/sBw/image/VQl7ZA_Qo_Qs-SrCYFg5HWTOPVw.jpg");
            background-position: center;
            background-repeat: no-repeat;
        }
        /* .box:hover {
            width: 30rem;
            height: 30rem;
        } */
    </style>
</head>
<body>
    <div class="box"></div>
</body>
</html>

background-size 속성

* background-size 속성 *

- 배경 이미지의 크기를 지정하기위해 사용한다.

- 용법

... {

background-size: [?px|?rem|?vw|?vh|?%|...];

}

- 위 용법에서 퍼센트(%)는 배경 이미지를 포함하는 요소의 가로 크기에 대한 비율이다. 이 때 세로크기는 설정한 가로크기에 맞게(찌그러지지 않게) 자동으로 설정된다.

- 용법

... {

background-size: [가로 크기 : ?px|?rem|?vw|?vh|?%|...] [세로 크기 : ?px|?rem|?vw|?vh|?%|...];

}

- 위 용법에서 퍼센트(%)는 배경 이미지를 포함하는 요소의 가로와 세로크기에 대한 비율이다. 단, 비율이 깨어질 수 있음으로 사용에 유의한다.

- 용법

... {

background-size: [cover|contain];

}

- contain : 배경 이미지가 요소의 크기 내에서 잘리는 부분 없이, 표시할 수 있는 가장 큰 크기를 가지게 된다.

- cover : 배경 이미지가 요소의 빈 공간을 모두 덮을 수 있는 한도 내에서 가장 작은 크기를 가지게 된다.

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <title>background-image 속성</title>
    <style>
        body {
            margin: 0;
        }
        .box {
            width: 100vw;
            height: 100vh;
            background-image: url("resources/images/background-image.jpg");
            background-position: center;
            background-repeat: no-repeat;
            background-size: cover;
        }
    </style>
</head>
<body>
    <div class="box"></div>
</body>
</html>

배경화면에 주로 사용

 background-image: url("resources/images/background-image.jpg");
            background-position: center;
            background-repeat: no-repeat;
            background-size: cover;

color 속성

- 글씨의 색을 지정하기 위해 사용한다.

- 용법

... {

color: [*literal | rgb(...) | rgba(...) | #...];

}

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <title>color 속성</title>
    <style>
        .important { 
            color: rgb(200, 100, 100);
        }
    </style>
</head>
<body>
    <span class="important">중요하다</span>
</body>
</html>

cursor 속성

- 해당 요소에 마우스를 올렸을 때 표시할 커서의 종류를 지정한다.

- 용법

... {

cursor: *x;

}

- *x 값

- auto : 해당 요소의 종류나 역할에 따라 마우스 커서를 자동으로 지정한다. (기본값)

- default : 평소 상태의 마우스 커서.

- none : 마우스 커서를 그리

지 않는다.(SEO 점수 개박살남)

- pointer : 클릭할 수 있는 모양의 커서. 주로 클릭하면 무슨일이 발생하거나, 링크인 것에 사용된다.

- text : 일반 텍스트 필드에서의 커서. 아이빔(I)이라기도 한다.

- 추가 커서 : https://developer.mozilla.org/ko/docs/Web/CSS/cusor

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <title>cursor 속성</title>
    <style>
        .box { 
            width: 10rem;
            height: 10rem;
            background-color: rgb(200,100,100);
            cursor: pointer;
        }
        input {
            cursor: default;
        }
    </style>
</head>
<body>
    <div class="box"></div>
    <input type="text">
</body>
</html>

margin 속성

- 요소의 외부 여백을 지정하기 위해 사용한다.

- 외부 여백은 요소의 본래 크기로 인정되지 않는다.

- 상/하 외부 여백은 display 속성 값이 inline인 것(가령 a, span 등)에 대해서는 효과를 가지지 않는다.

- 요소를 가운데 정렬하기 위해 margin 속성 값을 '0 auto'로 두지 않는다. (구시대 방식)

- 용법 (한 개)

... {

margin: [?px|?rem|?%|...];

}

- 선택된 요소의 모든 방향에 대한 외부 여백을 지정한다.

- 퍼센트(%)값은 해당 요소를 포함하는 부모 요소의 크기에 대한 백분율이다.

- 용법 (두 개)

... {

margin: [상/하 : ?px|?rem|?%|...] [좌/우 : ?px|?rem|?%|...];

}

- 선택된 요소의 상/하 및 좌/우 외부 여백을 각각 지정한다.

- 용법 (네 개)

... {

margin: [상 : ?px|?rem|?%|...] [우 : ?px|?rem|?%|...] [하 : ?px|?rem|?%|...] [좌 : ?px|?rem|?%|...];

}

- 선택된 요소의 상, 우, 하, 좌 외부 여백을 각각 지정한다. (12시 부터 시계 방향으로 네 군데)


margin-top 속성

- 상부 외부 여백을 지정하기 위해 사용한다.

- 용법

... {

margin-top: [?px|?rem|?%|...];

}


margin-right 속성

- 우측 외부 여백을 지정하기 위해 사용한다.

- 용법

... {

margin-right: [?px|?rem|?%|...];

}


margin-bottom 속성

- 하부 외부 여백을 지정하기 위해 사용한다.

- 용법

... {

margin-bottom: [?px|?rem|?%|...];

}


margin-left 속성

- 좌측 외부 여백을 지정하기 위해 사용한다.

- 용법

... {

margin-left: [?px|?rem|?%|...];

}

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <title>margin 속성</title>
    <style>
        a {
            background-color: rgb(0,5,10);
            color: rgb(255,255,255);
            margin: 1rem;
        }
    </style>
</head>
<body>
    <a>짜장면</a>
    <a>짬뽕</a>
    <a>볶음밥</a>
    <a>중화비빔밥</a>
    <a>탕수육</a>
</body>
</html>

padding 속성

- 요소의 내부 여백을 지정하기 위해 사용한다.

- 용법 (한 개)

... {

padding: [?px|?rem|?%|...];

}

- 선택된 요소의 모든 방향에 대한 내부 여백을 지정한다.

- 퍼센트(%)값은 해당 요소를 포함하는 부모 요소의 크기에 대한 백분율이다.

- 용법 (두 개)

... {

padding: [상/하 : ?px|?rem|?%|...] [좌/우 : ?px|?rem|?%|...];

}

- 선택된 요소의 상/하 및 좌/우 내부 여백을 각각 지정한다.

- 용법 (네 개)

... {

padding: [상 : ?px|?rem|?%|...] [우 : ?px|?rem|?%|...] [하 : ?px|?rem|?%|...] [좌 : ?px|?rem|?%|...];

}

- 선택된 요소의 상, 우, 하, 좌 내부 여백을 각각 지정한다. (12시 부터 시계 방향으로 네 군데)


padding-top 속성

- 상부 내부 여백을 지정하기 위해 사용한다.

- 용법

... {

padding-top: [?px|?rem|?%|...];

}


padding-right 속성

- 우측 내부 여백을 지정하기 위해 사용한다.

- 용법

... {

padding-right: [?px|?rem|?%|...];

}


padding-bottom 속성

- 하부 내부 여백을 지정하기 위해 사용한다.

- 용법

... {

padding-bottom: [?px|?rem|?%|...];

}


padding-left 속성

- 좌측 내부 여백을 지정하기 위해 사용한다.

- 용법

... {

padding-left: [?px|?rem|?%|...];

}

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <title>padding 속성</title>
    <style>
        div {
            background-color: rgb(0,5,10);
            color: rgb(255,255,255);
            padding: 1rem;
        }
    </style>
</head>
<body>
    <div>짜장면</div>
</body>
</html>

display 속성

- 요소의 표시 유형을 지정하기 위해 사용한다.

- 용법

... {

display: *x;

}

- *x

- block : 부모 요소의 가로크기를 전체 차지하는(한 줄을 다 차지 하는) 표시 방식(기본적으로 div 등이 그러함)

- inline : 일반 텍스트 처럼 취급된다.

- inline-block : 일반 텍스트 처럼 취급되나, block의 속성(가로/세로 크기 지정, margin-top, margin-botoom 적용등)을 일부 가진다.

- flex : 해당 요소를 flex 컨테이너로 만든다.

- inline-flex : 해당 요소를 flex 컨테이너로 만드나 inline-block 처럼 취급된다.

- grid : 해당 요소를 grid 컨테이너로 만든다.

- inline-grid : 해당 요소를 grid 컨테이너로 만드나 inline-block 처럼 취급된다.

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <title>display 속성</title>
    <style>
       .box {
            width: 10rem;
            height: 10rem;
            background-color: rgb(100,200,100);
            display: inline-block;
       }
       .box.red {
            background-color: rgb(200,100,100);
       }
    </style>
</head>
<body>
    <div class="box"></div>
    Hello!
    <div class="box red"></div>
    World!
</body>
</html>

border 속성

- 요소의 테두리를 그리기 위해 사용한다.

- 테두리는 크기에 영향을 미친다.

- 용법

... {

border: [none | [[크기 : ?px|?rem|...] [모양 : *x] [색상]]];

}

- none 값을 주게 되면 테두리가 없어진다.

- *x

- dotted : 원형 점선

- dashed : 직사각형 점선

- solid : 실선

- double : 이중 실선

- 기타 : https://developer.mozilla.org/ko/docs/Web/CSS/border-style

 

border-style - CSS: Cascading Style Sheets | MDN

**border-style **CSS 단축 속성은 요소 테두리 네 면의 스타일을 지정합니다.

developer.mozilla.org


border-top 속성

- 상단 테두리를 그리기 위해 사용한다. 용법은 border와 같다.


border-right 속성

- 상단 테두리를 그리기 위해 사용한다. 용법은 border와 같다.


border-bottom 속성

- 상단 테두리를 그리기 위해 사용한다. 용법은 border와 같다.


border-left 속성

- 상단 테두리를 그리기 위해 사용한다. 용법은 border와 같다.

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <title>border 속성</title>
    <style>
        .box {
            background-color: rgb(50,100,200);
            border: 0.0625rem solid rgb(25, 50, 100);
            border-right: none;
            color: rgb(255, 255, 255);
            display: inline-block;
            padding: 0.5rem 1rem;
        }
    </style>
</head>
<body>
    <div class="box">ㅋㅋ</div>
    <br>
    <a>메세지</a>
</body>
</html>

border-radius 속성

- 요소의 각 꼭지점을 둥글게할 반지름을 지정한다.

- 용법

... {

border-radius: [?px | ?rem | ?5 | ...];

}

- 좌상, 우상, 우하, 좌하측 꼭지점을 둥글게 할 반지름을 설정한다.

- 퍼센트(%) 값은 해당 요소 크기에 대한 비율로, width와 height가 같은 요소에 대해 해당 값을 50%로 지정할 경우 정원(正圓)을 만들 수 있다.


border-top-left-radius 속성

- 좌측 상단 꼭지점을 둥글게할 반지름을 설정한다. 용법은 border-radius와 동일하다.


border-top-right-radius 속성

- 우측 상단 꼭지점을 둥글게할 반지름을 설정한다. 용법은 border-radius와 동일하다.


border-bottom-left-radius 속성

- 좌측 하단 꼭지점을 둥글게할 반지름을 설정한다. 용법은 border-radius와 동일하다.


border-bottom-right-radius 속성

- 우측 하단 꼭지점을 둥글게할 반지름을 설정한다. 용법은 border-radius와 동일하다.

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <title>border-radius 속성</title>
    <style>
        .box {
            background-color: rgb(50,100,200);
            border: 0.0625rem solid rgb(25, 50, 100);
            border-radius: 0.5rem;
            color: rgb(255, 255, 255);
            display: inline-block;
            padding: 0.5rem 1rem;
        }

        .round {
            width: 10rem;
            height: 10rem;
            background-color: rgb(100,200,100);
            border-radius: 50%;
        }

        .button {
            background-color: black;
            border-radius: 1000rem;
            color: white;
            display: inline-block;
            padding: 0.75rem 1.25rem;
        }
    </style>
</head>
<body>
    <div class="box">ㅋㅋ</div>
    <br>
    <div class="round"></div>
    <br>
    <div class="button">버튼임</div>
</body>
</html>

font-family 속성

- 서체를 지정하기 위해 사용한다.

- 로컬에 있는 폰트를 사용하지 않는다.

- 용법

... {

font-family: '폰트 1', '폰트 2' ,..., [serif | sans-serif | monospace];

}

- 콤마(,)로 구분하여 여러개의 폰트를 이용할 수 있다.

- 먼저 적은 폰트(위에서 '폰트 1')가 뒤에 나오는 다른 폰트 보다 우선 순위를 가진다.

- 마지막으로 명시하는 폰트는 serif 혹은 sans-serif 혹은 monospace여야한다.


font-size 속성

- 글씨의 크기를 지정하기 위해 사용한다.

- 별도로 지정하지 않으면 기본 1rem임.(브라우저도 기본 설정이라면 16px)

- 용법

... {

font-size: [?px | ?rem | ...];

}


font-weight 속성

- 글씨의 굵기를 지정하기 위해 사용한다.(폰트에서 지원해야만 한다.)

... {

font-weight: *x;

}

- *x

- normal : 일반 굵기

- bold : 굵은 굵기

- lighter : 부모 요소의 글씨 굵기보다 얇은 굵기

- bolder : 부모 요소의 글씨 굵기보다 굵은 굵기

- 100 부터 900까지 100단위 : 폰트 자체가 가진 굵기(100, 200, ..., 800, 900)

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <title>font외 속성</title>
    <style>
        body {
            font-family: 'Rampart One','Nanum Brush Script', cursive;
        }
    </style>
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link href="https://fonts.googleapis.com/css2?family=Nanum+Brush+Script&family=Rampart+One&display=swap" rel="stylesheet">
    <link href="https://fonts.googleapis.com/css2?family=Rampart+One&display=swap" rel="stylesheet">
</head>
<body>
    <span>개발자</span>
    <span>開發者</span>
    <span>Developer</span>
</body>
</html>

max-width 속성

- 해당 요소의 최대 가로길이를 지정하기 위해 사용한다.


max-height 속성

- 해당 요소의 최대 세로길이를 지정하기 위해 사용한다.


min-width 속성

- 해당 요소의 최소 가로길이를 지정하기 위해 사용한다.


min-height 속성

- 해당 요소의 최소 세로길이를 지정하기 위해 사용한다.


opacity 속성

- 요소 자체의 투명도를 지정하기 위해 사용한다.

- 해당 요소가 가지고 있는 내용도 투명해지므로 사용에 유의한다.

- 용법

... {

opacity: [0.0~1.0 | 0%~100%];

}

- 값은 0부터 1까지의 실수 혹은 0%~100%까지의 백분율로 나타낸다.

- 값이 0(혹은 0%)이면 완전히 투명하고, 1(혹은 100%)이면 완전히 불투명하다.

- 단, 완전히 투명하다 하여도 요소는 있는 것이고 없어지는 것이 아님으로 사용에 유의한다.

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <title>opacity 속성</title>
    <style>
        .box {
            color: rgb(255,255,255);
            font-size: 6rem;
        }

        .box:first-child {
            width: 30rem;
            height: 30rem;
            background-color: rgb(50,50,50);
        }

        .box:nth-child(2) {
            top: 2.5rem;
            left: 2.5rem;
            width: 40rem;
            height: 40rem;
            background-color: rgb(200,100,100);
            opacity: 50%;
            position: absolute;
        }

    </style>
</head>
<body>
    <div class="box">첫번째 박스</div>
    <div class="box">두번째 박스</div>
</body>
</html>

overflow 속성

- 해당 요소의 범위를 벗어나는 자식 및 자손에 대한 처리를 위해 사용한다.

- 용법

... {

overflow: *x;

}

- 용법

... {

overflow: [가로축 : *x] [세로축 : *x];

}

- *x

- visible : 본 요소를 벗어나는 자식, 자손을 그냥 그대로 보이게 한다.(기본값)

- hidden : 본 요소를 벗어나는 자식, 자손을 보이지 않게 한다.

- scroll : 넘침 여부와 관계 없이 스크롤 바를 표시한다.

- auto : 넘치지 않으면 아무 것도 하지 않고, 넘치면 스크롤 바를 표시한다.

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <title>overflow 속성</title>
    <style>
       .parent {
            width: 10rem;
            height: 10rem;
            background-color: rgb(200,100,100);
            overflow: auto;
       }
       .parent > .child {
            top: 2.5rem;
            left: 2.5rem;
            width: 5rem;
            height: 30vh;
            background-color: rgb(100, 200, 100);
            position: relative;
       }
    </style>
</head>
<body>
    <div class="parent">
        <div class="child"></div>
    </div>
</body>
</html>

z-index 속성

- 요소를 화면에 표시할 순서를 정한다.

- 값은 0(기본값)이상의 자연수로 표시한다.

- 값이 클 수록 다른 요소에 의해 가려지지 않고 화면에 표시된다.

- 용법

... {

z-index: [0~?];

}

- 값이 같다면 보다 뒤에 만들어진 요소가 위로 올라오게 된다.

- position 속성 값이 static 이라면 무시된다.

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <title>z-index 속성</title>
    <style>
        .box {
            width: 15rem;
            height: 15rem;
        }
        .box.one {
            background-color: rgb(200,100,100);
            position: relative;
            z-index: 2;
        }
        .box.two {
            top: -5rem;
            left: 5rem;
            background-color: rgb(100,200,100);
            position: relative;
            z-index: 1;
        }
        .box.three {
            top: -10rem;
            left: 10rem;
            background-color: rgb(100,100,200);
            position: relative;
        }
    </style>
</head>
<body>
    <div class="box one"></div>
    <div class="box two"></div>
    <div class="box three"></div>
</body>
</html>

filter 속성

- 색상과 관련된 효과(카메라에 있는 그것)를 위해 사용한다.

- 함수를 이용하며 함수 이용시 공백( )으로 여러개의 함수를 이용할 수 있다. (절대 filter 속성을 여러개 사용하지 않는다.)

- 함수

- blur([?px | ?rem | ...]) : 해당 요소의 내용을 주어진 길이 만큼 흐린다.

- brightness([0.0~ | 0%~]) : 해당 요소의 밝기를 조절한다. 기본 밝기는 1(혹은 100%)이며 값이 작아지면 어 두워지고, 커지면 밝아진다.

- contrast([0.0~| 0%~]) : 해당 요소의 대비를 조절한다. 기본 값은 1(혹은 100%)이다.

- drop-shadow([x축 오프셋 : ?px|?rem|...] [Y축 오프셋 : ?px|?rem|...] [퍼짐 정도 : ?px|?rem|...] [색상])

: 해당 요소의 투명한 부분과 그렇지 않은 부분의 경계에 대해 그림자를 생성한다.

- grayscale([0.0~1.0 | 0%~100%]) : 해당 요소의 회색조를 조절한다. 기본 값은 0(혹은 0%)이며 값이 커지면 채도가 빠져 흑백 사진이 된다.

- invert([0 | 1 | 0% | 100%]) : 해당 요소를 반전시킨다. 기본 값은 0(혹은 0%)이며 값이 커지면 색이 반전된다.

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <title>filter 속성</title>
    <style>
        .image {
            /* filter: blur(0.5rem) brightness(50%); */
            /* filter: contrast(300%); */
            /* filter: drop-shadow(-1rem -1rem 1rem rgb(0,0,0)); */
            /* filter: grayscale(100%); */
        }
        .image:hover {
            filter: invert(100%);
        }
    </style>
</head>
<body>
    <img class="image" src="https://mblogthumb-phinf.pstatic.net/MjAyMTAyMDlfMjEy/MDAxNjEyODUwNTEyNDE1.qsIuosRay1y1Ov42GfhsjD6PqPar4oEfEPK-H5yf5Lgg.ID5ZqIURoQrUK57jqU7fAxO7UYguu-6mhxD-VKMy8VIg.JPEG.cremaker2015/KakaoTalk_20210209_142655102.jpg?type=w2" alt="뚱이 못질">
</body>
</html>

transform 속성

- 요소의 형태나 위치나 형태를 변화시키기 위해 사용한다.

- 각 함수는 띄우기()로 구분하여 여러개 사용한다. 절대 transform 속성을 여러개 사용하지 않는다.

- 함수

- rotate(?deg) : (해당 2D 상의 요소를 고정축 기준으로) 회전한다. (deg : Degree, 도)

- rotateX(?deg) : X축으로 회전한다.

- rotateY(?deg) : Y축으로 회전한다.

- rotateZ(?deg) : Z축으로 회전한다.

- scale([0.0~ | 0%~]) : 해당 요소를 확대/축소한다. 기본 값은 1(100%)이다.

- translate([X축 이동량 : ?px|?rem|?%|...],[Y축 이동량 : ?px|?rem|?%|...]) : 해당 요소를 X, Y축으로 이동시킨다. 이 때 퍼센트(%)값은 부모와 관계 없이 본 요소의 크기에 대한 백분율이다.

- translateX([?px | ?rem | ?% | ...]) : 해당 요소를 X축으로 이동시킨다.

- translateY([?px | ?rem | ?% | ...]) : 해당 요소를 Y축으로 이동시킨다.

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <title>transform 속성</title>
    <style>
        body {
            perspective: 20rem;
        }
        .box {
            width: 20rem;
            height: 20rem;
            background-color: rgb(200,100,100);
            transition-duration: 500ms;
        }
        .box:hover {
            /* transform: rotateY(180deg); */
            /* transform: scale(2); */
            transform: translate(3rem, -1rem);
        }
    </style>
</head>
<body>
    <div class="box"></div>
</body>
</html>

transition-duration 속성

- 어떠한 요소에 CSS 속성이 추가되거나 변경될 때 해당 추가 혹은 변경 사항이 적용되는데 걸리는 시간을 지정한다.

- 기본 값이 0이므로 기본적으로는 이러한 속성이 변경될 때 즉시 변경된다.

- 중간값이 없는 속성(display, text-align 등)은 transition의 영향을 받지 않는다.

- 용법

... {

transition-duration: [?ms | ?s];

}

- 이때 ms는 밀리초 단위이고 1000ms는 1초이다. 마찬가지로 s는 초 단위이고 1s는 1000ms이다.


transition-timing-function 속성

- 트랜지션의 영향을 받아 변화하는 속성이 시간이 지남에 따라 변화할 수준에 대한 설정이다.

- 용법

... {

transition-timing-function: *x;

}

- *x

- t% : 시간의 변화에 따른 백분율. 가령 transition-duration이 1000ms 였다면, 0ms 차가 0%, 1000ms 차가 100%이다.

- c% : 속성 변화에 따른 백분율. 가령 opacity 값이 0% 에서 100%까지 변하는 부분이라면, 0%일때 c%가 0%, 100%일때 c%가 100%이다.

- linear : Δt%:Δc% = 1:1, 시간 변화율에 따른 속성 변화율이 1:1로, 선형(Linear)이라 한다.

- ease : (기본값) 베지에 곡선함수 cubic-bezier(0.25, 0.1, 0.25, 1.0)와 같다. 초반 시간변화에 따른 변화 완료율이 가파르고, 시간이 지남에 따라 변화율이 점차 낮아진다. (가속 속도가 감속 속도보다 빠르다.)

- ease-in : 베지에 곡선 함수 cubic-bezier(0.42, 0, 1.0, 1.0)와 같다. 천천히 시작하여 완료될 때 까지 가속한다.

- ease-out : 베지에 곡선 함수 cubic-bezier(0, 0, 0.58, 1.0)와 같다. 빠르게 시작하여 완료될 때 까지 감속한다.

- ease-in-out : 베지에 곡선 함수 cubic-bezier(0.42, 0, 0.58, 1.0)와 같다. 천천히 시작하여 가속하고, 끝에 다시 감속한다.(가속 속도와 감속 속도가 같다.)

- cubic-bezier(v1,v2, v3, v4) : 직접 베지에 곡선 함수를 그린다.

https://cubic-bezier.com/#.17,.67,.83,.67

※ 유용한 리소스

- https://www.pexels.com/ko-kr/ : 원하는 스톡 이미지 혹은 비디오를 무한정 다운로드 받아 사용할 수 있음.

(라이센스 관련 문제 없음)

- https://htmlcolorcodes.com/ : HTML 테마별 색상을 사용할 수 있음. (Chart 메뉴!)

- https://fonts.google.com/ : 여러 폰트를 지원하는 구글 CDN(Content Delivery Network)이다.

'CSS > 학습내용' 카테고리의 다른 글

[선택자] ID 선택자  (1) 2022.10.03
[선택자] 클래스 선택자  (0) 2022.10.03
[속성] grid  (0) 2022.10.03
[속성] flex  (0) 2022.10.03
[CSS] 선택자 / 결합자 / 의사 클래스  (1) 2022.10.03