CSS グリッドを使用したメディア クエリ


こんにちは皆さん、今日は CSS グリッドでメディア クエリを使用して、Web ページにレスポンシブ グリッド システムを作成する方法を紹介します.

始めましょう...

HTML -




<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="app.css" />
  </head>
  <body>
    <div class="container">
      <div class="elements">1</div>
      <div class="elements">2</div>
      <div class="elements">3</div>
      <div class="elements">4</div>
      <div class="elements">5</div>
      <div class="elements">6</div>
      <div class="elements">7</div>
      <div class="elements">8</div>
      <div class="elements">9</div>
      <div class="elements">10</div>
      <div class="elements">11</div>
      <div class="elements">12</div>
      <div class="elements">13</div>
      <div class="elements">14</div>
      <div class="elements">15</div>
      <div class="elements">16</div>
      <div class="elements">17</div>
      <div class="elements">18</div>
      <div class="elements">19</div>
      <div class="elements">20</div>
      <div class="elements">21</div>
      <div class="elements">22</div>
      <div class="elements">23</div>
      <div class="elements">24</div>
      <div class="elements">25</div>
      <div class="elements">26</div>
      <div class="elements">27</div>
      <div class="elements">28</div>
      <div class="elements">29</div>
      <div class="elements">30</div>
      <div class="elements">31</div>
      <div class="elements">32</div>
      <div class="elements">33</div>
      <div class="elements">34</div>
      <div class="elements">35</div>
      <div class="elements">36</div>
      <div class="elements">37</div>
      <div class="elements">38</div>
      <div class="elements">39</div>
      <div class="elements">40</div>
      <div class="elements">41</div>
      <div class="elements">42</div>
      <div class="elements">43</div>
      <div class="elements">44</div>
      <div class="elements">45</div>
      <div class="elements">46</div>
      <div class="elements">47</div>
      <div class="elements">48</div>
      <div class="elements">49</div>
      <div class="elements">50</div>
    </div>
  </body>
</html>


  • ここでは、クラス名「container」の div を作成し、その中にクラス名「elements」の 40 個の div を作成しました

  • CSS -




         .container{
            /* box model properties */
            margin: 3rem auto;
            padding: 2rem;
    
            /* display properties */
            display: grid;
            grid-template-columns: repeat(5,1fr);
            place-items: center;
            gap: 20px 30px;
    
            /* UI properties */
            background-color: darkslateblue;
            border-radius: 10px;
          }
          .elements{
            /* box model properties */
            padding: 1rem 2rem;
    
            /* Display Properties */
            text-align: center;
            /* UI Properties */
            background-color: rgb(169, 158, 238);
            border-radius: 6px;
            color: rgb(41, 42, 43);
          }
    
          /* Mobile View */
          @media screen and (min-width:250px) and (max-width:480px) {
            .container{
              grid-template-columns: repeat(1,1fr);
            }
          }
    
           /* Tablet View */
           @media screen and (min-width:481px) and (max-width:768px) {
            .container{
              grid-template-columns: repeat(3,1fr);
            }
          }
           /* Laptop View */
           @media screen and (min-width:769px) and (max-width:1024px) {
            .container{
              grid-template-columns: repeat(4,1fr);
            }
          }
    


  • ここでは、display:grid プロパティを使用して div をグリッドにし、 grid-template-columns:repeat(5,1fr) を使用して、5 つの列と 8 つの行 (8 x 5 = 40 要素)、gap:20px のグリッドを作成しました. 30px は行間に 20px のギャップを、列と place-items:center の間に 30px のギャップを意味し、項目が水平方向と垂直方向の両方で中央に配置されることを意味します.
  • 次に、コンテナ クラス
  • に通常のスタイリングを行いました
  • 次に、クラス名「elements」を持つすべての div のスタイルを設定しました.
  • 次に、(min-width:250px) と (max-width:480px) を使用してモバイル ビューのメディア クエリを作成し、その中に grid-template-columns:repeat(1,1fr) を設定しました.これは 250px の間を意味します.そして 480px のコンテナーには 1 列と 40 行しかありません.これはモバイル ユーザー向けです.
  • 次に、(min-width:481px) と (max-width:768px) でタブレット ビューのメディア クエリを作成し、その中に grid-template-columns:repeat(3,1fr) を設定しました.これは 481px の間を意味します.および 768px のコンテナーには 3 列 column と 17 rows があり、タブレット ユーザー向けです.
  • 次に、(min-width:769px) と (max-width:1024px) でタブレット ビューのメディア クエリを作成し、その中に grid-template-columns:repeat(3,1fr) を設定しました.これは 769px の間を意味します.および 1024px のコンテナーには 4 列の列と 13 の行があり、小さな画面またはラップトップ ユーザー向けです.
  • 1024px を超えると、グリッドはデフォルトで 5 列と 10 行になります

  • この記事は以上です.
    この投稿をお読みいただきありがとうございます.間違いを見つけた場合や提案が必要な場合は、コメント セクションでお知らせください.
    ^^以下のリンクから寄付をしていただけると助かります.よろしくお願いします👇👇 ^^
    ☕ --> https://www.buymeacoffee.com/waaduheck <--

    これらの投稿もチェックしてください