Deeb
디비의 DB
Deeb
전체 방문자
오늘
어제
  • 분류 전체보기 (243)
    • Frontend (63)
      • HTML & CSS (27)
      • JavaScript (17)
      • jQuery (8)
      • React (6)
    • Backend (98)
      • Java (19)
      • JDBC (2)
      • Servlet & JSP (13)
      • Spring (17)
      • Project (0)
      • 개발 공부 (11)
      • 문제 풀이 (8)
      • Algorithm (1)
      • DataBase (0)
      • Oracle (18)
      • Error (8)
    • Knou (1)
    • Review (14)
    • TIL (33)
    • 삽질기록 (8)
    • deebtionary (5)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • For
  • CLASS
  • 방송대
  • 책
  • DBMS
  • 2학기
  • alter
  • DB
  • 다형성
  • 리액트
  • css
  • Java
  • GIT
  • 한빛미디어
  • 추천
  • HTML
  • 기초
  • 자바
  • 클래스
  • 정처기
  • 배열
  • 후기
  • 방통대
  • js
  • 서평단
  • 정의
  • 함수
  • 삭제
  • 공부
  • 에러

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Deeb

디비의 DB

꼬여버린 flex로 캐러셀 만들기
삽질기록

꼬여버린 flex로 캐러셀 만들기

2022. 7. 16. 23:24

구현하고 싶었던 기능

판매중인 상품이 3개 이상일 때 x축 스크롤바가 생기면서 옆으로 넘길 수 있다.

 

하지만 현실..😰

<ul class="product-list">
  <li class="product-item">
    // 생략
  </li>
  <li class="product-item">
    // 생략
  </li>
  <li class="product-item">
    // 생략
  </li>
</ul>
.product-list {
  display: flex;
  gap: 10px;
  overflow-x: scroll;
}
.product-item {
  width: 140px;
}

크게 ul > li 로 나누어 li마다 하나의 카드(이미지와 상품명, 가격)이 들어가게 만들었다.

ul에 flex와 gap을 주어 일정한 간격을 유지하려고했으나 되지 않았다. 대체 왜..!!

 
li의 영역이 저만큼 잡혀있지만 보여지는 간격은 반 밖에 되지 않는걸 볼 수 있다.
overflow-x: scroll를 했지만 스크롤이 생기기만 할 뿐 영역이 제대로 잡히지 않았다. 

 

해결방법

 
flex 자체가 남은 여백을 나누어서 가져가기때문에 flex-grow, flex-shrink, flex-basis 다 설정해야한다. 그래서 축약형으로 flex를 사용하면 된다. 
 
 
flex-basis: flex아이템의 기본 크기를 설정
flex-grow: 기본값을 넘어 넓어질 수 있는 지를 설정하는데 1이면 화면을 전부 채울 수 있고 0이면 늘어나지 않는다.
flex-shrink: 기본값이 1로 width값을 주어도, 화면이 줄어들면 지정된 width를 무시하고 줄어든다.
 
아래와 같이 작성하면 원하는대로 만들어진다. 
flex-basis: 0;
flex-grow: 0;
flex-shrink: auto;

// 축약형
flex: 0 0 auto;

 

 

반응형
저작자표시 변경금지 (새창열림)

'삽질기록' 카테고리의 다른 글

오늘의 에러 - next-auth, Module not found: Can't resolve 'next-auth/react'  (0) 2022.09.26
[Git] 폴더명 대소문자 구분도 못한다면서요?  (0) 2022.08.09
[CSS] css가 이상할 때 user agent stylesheet의심하기!  (0) 2022.07.06
[React] return할 때 unique key가 필요한 이유  (0) 2022.06.25
[Git] 팀 Organization에서 나만 push 안 된 이유 (ft.403 error)  (0) 2022.06.21
    '삽질기록' 카테고리의 다른 글
    • 오늘의 에러 - next-auth, Module not found: Can't resolve 'next-auth/react'
    • [Git] 폴더명 대소문자 구분도 못한다면서요?
    • [CSS] css가 이상할 때 user agent stylesheet의심하기!
    • [React] return할 때 unique key가 필요한 이유
    Deeb
    Deeb

    티스토리툴바