当サイトは、アフィリエイト広告を利用しています

【React × Emotion】メディアクエリー(@media)を使ってみる

作成日:2022月04月17日
更新日:2024年01月28日

react + emotion11におけるメディアクエリー(@media)を使い方をメモ。

サンプル実装

  • widthのよって適用されるbackground-colorが変わるサンプル。
App.jsx
/** @jsxImportSource @emotion/react */
import "./styles.css";
import { css } from "@emotion/react";
export default function App() {
return (
<div className="App">
<h1>sample</h1>
<div css={[media_min]}>min-width</div>
<div css={[media_max]}>max-width</div>
</div>
);
}
// widthが800px以上の場合に適用
const media_min = () => [
css`
@media (min-width: 800px) {
background-color: lightgreen;
}
`
];
// widthが800px以下の場合に適用
const media_max = () => [
css`
@media (max-width: 800px) {
background-color: skyblue;
}
`
];

codesandboxサンプル

codesandboxで作成したサンプル

react + emotion use @media

まとめ

min-widthからmax-widthの間で適用されると考えると覚えやすい

新着記事

タグ別一覧
top