반응형 웹에서는 필수!!
화면 크기에 맞춰서 각각 다르게 CSS를 적용
320px ~ 768px (모바일)
768px ~ 1024px (테블릿)
1024 ~ 0000 (데스크탑)
@media only | not 미디어 유형 and | , (조건문) {적용할 css}
ex ) @media only screen and (min-width:1024px) {적용할 css}
) @media not tv and (min-width:1024px) {적용할 css}
) @media (min-width:768px) and (max-width:1024px) {적용할 css}
) @media (min-width:768px) , (max-width:1024px) {적용할 css}
only 키워드는 미디어쿼리를 지원하는 브라우저에서만 미디어쿼리를 해석하게한다.
not 키워드는 not 다음에 따라오는 조건을 부정하는 키워드 (ex: not tv 는 tv를 제외한 모든 미디어)
미디어 유형 (생략시 default 값은 all)
all : 모든장치
sereen : 컴퓨터 화면 또는 테블릿, 스마트폰 등
and 키워드는 앞뒤 조건이 모두 사실일때, 콘마는 앞뒤 조건이 하나라도 사실인 경우를 의미.
조건문은 조건문이 사실일때를 의미, and나 콘마를 이용하여 두가지 이상 작성이 가능하다.
import './App.css';
import { BrowserView, MobileView, isMobile, isDesktop} from 'react-device-detect'
const App = () => {
return (
<div className="App">
<BrowserView>
데스크톱브라우져!
</BrowserView>
<MobileView>
모바일 브라우져!
</MobileView>
</div>
);
}
export default App;
npm start를 할 경우 localhost 로 생성된 주소와 network로 생성된 주소가 보입니다.
localhost는 현재 코드가 실행되는 컴퓨터의 ip 주소이고, network 주소는 외부에서 접속할 수 있도록 해주는 주소입니다.
192.168.~ 으로 시작하는 주소는 공유기로 부터 나오는 멀티캐스트 주소로, 코드를 실행하는 네트워크와 동일한 공유기에 휴대폰을 와이파이로 연결한 후, 사파리 혹은 크롬에서 위 network 주소로 접속하면 테스트할 수 있습니다.