다양한 기기에 맞게 화면이 자동으로 변하는 디자인
/* styles.css */
.container {
padding: 20px;
}
@media (max-width: 768px) {
.container {
padding: 10px;
}
}
리액트 컴포넌트에서 임포트
import React from 'react';
import './styles.css';
const SampleComponent = () => {
return (
<div className="container">
반응형 웹
</div>
);
}
export default SampleComponent;
import React from 'react';
import styled from 'styled-components';
const Container = styled.div`
padding: 20px;
@media (max-width: 768px) {
padding: 10px;
}
`;
const SampleComponent = () => {
return (
<Container>
반응형 웹
</Container>
);
}
export default SampleComponent;
import React from 'react';
import { useMediaQuery } from 'react-responsive';
const SampleComponent = () => {
const isMobile = useMediaQuery({ query: '(max-width: 768px)' });
return (
<div style={{ padding: isMobile ? '10px' : '20px' }}>
반응형 웹
</div>
);
}
export default SampleComponent;
각각의 디바이스 가로 넓이 별 디자인을 지정해주려면 tailwind.config.js에 screen 설정을 한다
/** @type {import('tailwindcss').Config} */
module.exports = {
theme: {
screens: {
'sm': '640px',
// => @media (min-width: 640px) { ... }
'md': '768px',
// => @media (min-width: 768px) { ... }
'lg': '1024px',
// => @media (min-width: 1024px) { ... }
'xl': '1280px',
// => @media (min-width: 1280px) { ... }
'2xl': '1536px',
// => @media (min-width: 1536px) { ... }
}
}
}
각 기기마다 미리 정해진 화면 크기에 맞게 웹사이트를 만드는 것