Slick (이미지 슬라이드)

진수연·2021년 8월 13일
0

Airbnb Clone Coding

목록 보기
2/2

Installation : 둘 중에 하나를 설치해 줍니다

npm install react-slick --save

yarn add react-slick

Include css

-> 내장되어 있는 css 설치를 하고

npm install slick-carousel --save
import "slick-carousel/slick/slick.css";
import "slick-carousel/slick/slick-theme.css";

-> 사용할 컴포넌트 부분에 import 해줍니다

Slick API

const setting ={
	slide: 'div',		//슬라이드 되어야 할 태그 ex) div, li 
	infinite : true, 	//무한 반복 옵션	 
	slidesToShow : 4,		// 한 화면에 보여질 컨텐츠 개수
	slidesToScroll : 1,		//스크롤 한번에 움직일 컨텐츠 개수
	speed : 100,	 // 다음 버튼 누르고 다음 화면 뜨는데까지 걸리는 시간(ms)
	arrows : true, 		// 옆으로 이동하는 화살표 표시 여부
	dots : true, 		// 스크롤바 아래 점으로 페이지네이션 여부
	autoplay : true,			// 자동 스크롤 사용 여부
	autoplaySpeed : 10000, 		// 자동 스크롤 시 다음으로 넘어가는데 걸리는 시간 (ms)
	pauseOnHover : true,		// 슬라이드 이동	시 마우스 호버하면 슬라이더 멈추게 설정
	vertical : false,		// 세로 방향 슬라이드 옵션
	prevArrow : "<button type='button' class='slick-prev'>Previous</button>",		// 이전 화살표 모양 설정
	nextArrow : "<button type='button' class='slick-next'>Next</button>",		// 다음 화살표 모양 설정
	dotsClass : "slick-dots", 	//아래 나오는 페이지네이션(점) css class 지정
	draggable : true, 	//드래그 가능 여부 
	
	responsive: [ // 반응형 웹 구현 옵션
		{  
			breakpoint: 960, //화면 사이즈 960px일 때
			settings: {
				//위에 옵션이 디폴트 , 여기에 추가하면 그걸로 변경
				slidesToShow:3 
			} 
		},
		{ 
			breakpoint: 768, //화면 사이즈 768px일 때
			settings: {	
				//위에 옵션이 디폴트 , 여기에 추가하면 그걸로 변경
				slidesToShow:2 
			} 
		}
	]
}

ex) react

import Slider from "react-slick";
import "./Slick.css";
import "slick-carousel/slick/slick.css";
import "slick-carousel/slick/slick-theme.css";

function Slick() {
  const settings = {
    dots: false,
    infinite: false,
    speed: 500,
    slidesToShow: 3,
    slidesToScroll: 1,
    arrows: true,
  };
  return (
    <div className="container">
      <Slider {...settings}>
        <div>
          <img src="man.jpg" alt="" />
        </div>
        <div>
          <img src="man2.jpg" alt="" />
        </div>
        <div>
          <img src="woman.jpg" alt="" />
        </div>
        <div>
          <img src="woman2.jpg" alt="" />
        </div>
      </Slider>
    </div>
  );
}

ex)css : slider 태그 안에 있는 태그는 .slice-slice 뒤에 사용

body {
  background-color: #05486e;
}

.container {
  width: 90%;
  height: 500px;
  margin: 5%;
}

.slick-slide {
  height: 320px;
  border: 20px solid #05486e;
  box-sizing: border-box;
}

.slick-slide img {
  object-fit: cover;
  height: 500px;
  width: 100%;
  box-sizing: border-box;
}
profile
안녕하세요 진수연입니다.

0개의 댓글