본문 바로가기
HTML&CSS

CSS 5차시

by Zㅣ존수빈zz 2022. 11. 4.

- FLEX ITEM 속성

  • flex-grow(0): item의 크기 증가
    number / initial / inherit
    - item이 container의 남는 부분을 채운다. 요소 내부에서 할당 가능한 공간의 정도를 선언
    - 기본값이 0이며 선언한 숫자 만큼의 상대적인 공간을 할당함
    ex) flex-grow: 0;
    <style>
        .container {
            background-color: #ddd;
            display: flex;
        }
        .item {
            border: 1px dashed;
            padding: 0.5rem;
            flex-grow: 0;
            /* 기본값이 0이므로 생략가능 */
        }
        .item:nth-child(2) {
            flex-grow: 1; 
      }
    </style>

 

  • flex-shrink(1): item의 크기 감소
    number / initial / inherit
    - item은 기본적으로 줄어들 수 있다.(shrinkable) 기본값은 1이며 0일때는 줄어들지 않는다.

    ex) flex-shrink: 1;
<style>
        .container {
            background-color: #ddd;
            display: flex;
        }
        .item {
            width: 200px;
            border: 1px dashed;
            flex-shrink: 1;
            padding: 0.5rem;
        }
        .item:nth-child(2) {
            flex-shrink: 0;
        }
    </style>

 

  • flex-basis(auto): 화면을 기준으로 item의 넓이 비율 선언
    - container {flex-wrap: wrap}에서만 작용
    number / auto / initial / inherit
    <style>
        .container {
            background-color: #ddd;
            display: flex;
            flex-wrap: wrap;
        }
        .item {
            border: 1px dashed;
            padding: 0.5rem;
            flex-basis: 50%;
            box-sizing: border-box;
        }
    </style>

 

  • flex(0 1 auto): flex-grow flow-shrink flex-basis

 

  • align-self(auto): 특정 item의 수평 정렬
    auto / stretch / center / flex-start / flex-end / baseline / initial / inherit
    - 개별 item에 지정하여 flex container의 정렬 방식을 제어
    <style>
        .container {
            background-color: #ddd;
            display: flex;
            align-items: center;
            height: 100px;
        }
        .item {
            width: 100px;
            border: 1px dashed;
        }
        .item:nth-child(4) {
            align-self: flex-start;
        }
    </style>

 

  • order(0): item의 정렬 순서 지정
    number / initial / inherit
<style>
        .container {
            background-color: #ddd;
            display: flex;
        }
        .item {
            border: 1px dashed;
            padding: 0.5rem;
        }
        .item:first-child {
            order: 3;
        }
        .item:nth-child(2) {
            order: 2;
        }
        .item:nth-child(3) {
            order: 1;
        }
    </style>

 

 


 

- grid: 격자 레이아웃

    <style>
        .container {
            background-color: #ddd;
            display: grid;
            grid-template-columns: repeat(3,minmax(0,1fr));            /* 열의 갯수 3개, minmax: 최소0부터 최대 1fr */
            gap: 0.25rem;    /* item 사이의 간격 */
        }
        .item {
            border: 1px dashed;
            padding: 0.5rem;
        }
    </style>

 

- transform

  translate(이동), scale(크기), rotate(회전)

  javascript와 함께 쓰여 동작을 나타냄

  • translate: 원래 위치를 기준으로 이동한다. transform: translate(x축, y축);ex) transform:translate(10px, 10px);
  • scale: 중심을 기준으로 element의 크기가 변한다. transform: scale(x축, y축); ex) transform: scale(2,2);
  • rotate: 중심을 기준으로 시계방향으로 회전 transform: rotate(**deg);ex) transform: rotate(45deg);

 

- Responsive style (반응형 스타일)

  화면 크기 (break points)에 따라 스타일을 다르게 설정한다.

  @media키워드를 사용하지 않으면 모바일 화면이 기준이 된다.

    <style>
        .container {
            background-color: #ddd;
        }
        .title::after {
            content: "small devices";
        }
        @media (min-width: 780px) {
            .title::after {
                content: "Medium devices";
            }
        }
        @media (min-width: 1024px) {
            .title::after {
                content: "Large devices";
            }
        }
    </style>
    <div class="container">
        <h3 class="title">Devices: </h3>
        <p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. </p>
    </div>

 

- style images

  object-fir: cover;로 설정하면 사진이 깨지지 않는다.

 

 

- background-image : image를 element에 삽입

  • linear-gradient(방향, 시작색상, 끝색상)
    - 색상은 여러개 넣을 수 있음
    - 방향의 기본값은 to bottom
    ex) background-image: linear-gradient(to right, #000, #fff);

 

  • url (이미지 주소): 주소를 따라 이미지 산출
    ex)backgroudn-image: url(http://www.####.####)

 

  • background-size
  • background-position
  • background-repeat: 이미지가 element보다 작을 때 반복되어 element를 다 채우는 것

 

'HTML&CSS' 카테고리의 다른 글

CSS 7차시  (0) 2022.11.07
CSS 6차시  (0) 2022.11.06
CSS 4차시  (0) 2022.10.31
CSS 3차시  (0) 2022.10.27
CSS 2차시  (0) 2022.10.24

댓글