CSSメディアクエリのアスペクト比を小さくする方法

CSSメディアクエリのアスペクト比を小さくする方法

CSS メディア クエリには非常に便利なアスペクト比、aspect-ratio があり、幅と高さを直接使用してページを調整できます。使用例は次のとおりです。

// アスペクト比は、320*50 のデザインスタイルに合うように ((320/50)+(728/90))/2 の間です @media screen and (min-aspect-ratio: ~"249/50") and (max-aspect-ratio: ~"29/4"){
  @ベース: 320;
  @変換: 375/@base;
  。容器{
    幅:100vw;
    高さ:100%;
    位置:相対;
    ディスプレイ:フレックス;
    flex-flow:行を折り返さない;
    アイテムの位置を中央揃えにします。
    .info-icon-box{
      .width(46*@convert);
      .height(46*@convert);
      .border-radius(10*@convert);
      .border(1@convert,#e3e3e3);
      オーバーフロー: 非表示;
      .margin-left(10*@convert);
      .min-width(46*@convert);
      .max-width(46*@convert);
      フレックス成長: 0;
      画像 {
        幅: 100%;
        高さ: 100%;
        .border-radius(10);
        垂直方向の位置合わせ: 上;
      }
    }
    .info-その他{
      フレックス成長: 1;
      ディスプレイ:フレックス;
      flex-flow:列の折り返しなし;
      オーバーフロー: 非表示;
      高さ:100%;
      .margin-left(10*@convert);
      .info-wrap.roll-box{
        高さ:200%;
      }
      .info-box{
        幅:100%;
        高さ:50%;
        フレックス成長: 1;
        ディスプレイ:フレックス;
        flex-flow:行を折り返さない;
        アイテムの位置を中央揃えにします。
        。情報{
          幅:48vw;
          高さ: 100%;
          フレックス成長: 1;
          ディスプレイ: フレックス;
          // 項目の位置合わせ: 中央;
          flex-direction:列;
          コンテンツの中央揃え: 中央;
          .info-title{
            フォントの太さ:太字;
            .font-size(16*@convert);
            .line-height(26*@convert);
            色: #484848 ;
            .margin-bottom(4*@convert);
          }
          .info-その他のレート{
            ディスプレイ: フレックス;
            アイテムの位置を中央揃えにします。
            コンテンツの配置: flex-start;
            位置:相対;
            zインデックス:2;
            .星の数{
              .font-size(15*@convert);
              色:#4a4a4a;
              .padding-right(5*@convert);
            }
            .star-evaluate {
              位置: 相対的;
              .width(100*@convert);
              .height(16*@convert);
              背景: url("../../assets/images/star_gray.png") 繰り返しなし 0 0;
              背景サイズ: カバー;
              オーバーフロー: 非表示;
              。星 {
                位置: 絶対;
                上: 0;
                左: 0;
                表示: インラインブロック;
                .height(16*@convert);
                背景: url("../../assets/images/star.png") no-repeat 0 0;
                背景サイズ: カバー;
                オーバーフロー: 非表示;
              }
              .star-1 {
                .width(8*@convert);
              }
              .star-2 {
                .width(21*@convert);
              }
              .star-3 {
                .width(29*@convert);
              }
              .star-4 {
                .width(42*@convert);
              }
              .star-5 {
                .width(50*@convert);
              }
              .star-6 {
                .width(63*@convert);
              }
              .star-7 {
                .width(71*@convert);
              }
              .star-8 {
                .width(84*@convert);
              }
              .star-9 {
                .width(92*@convert);
              }
              .star-10 {
                .width(100*@convert);
              }
            }
          }
          .info-desc-box{
            表示: なし;
          }
        }
        .info-インストール{
          .min-width(66*@convert);
          幅:コンテンツに合わせる;
          .height(40*@convert);
          .line-height(40*@convert);
          ボックスのサイズ: 境界線ボックス;
          .padding-all(0,4*@convert,0,4*@convert);
          .font-size(14*@convert);
          色:#fff;
          テキスト配置: 中央;
          .margin-right(20*@convert);
          背景:url("../../assets/images/btn_download_short_shadow.png") 繰り返しなし 0 0;
          背景サイズ:100% 100%;
        }
      }
      .info-desc-box {
        幅:100%;
        高さ:50%;
        .padding-all(4*@convert, 26*@convert, 4*@convert, 0);
        ボックスのサイズ: 境界線ボックス;
        オーバーフロー: 非表示;
        .info-desc{
          .font-size(14*@convert);
          .line-height(20*@convert);
          色: #484848 ;
          .info-その他のレート{
            表示: なし;
          }
        }
      }
    }
  }
}
// アスペクト比は ((320/50)+(728/90))/2 より大きいです。2 つのサイズの中間の値は 728*90 に適しています。デザイン スタイル @media screen and (min-aspect-ratio: ~"29/4"){
  @ベース: 728;
  @変換: 375/@base;
  。容器{
    幅:100vw;
    高さ:100%;
    位置:相対;
    ディスプレイ:フレックス;
    flex-flow:行を折り返さない;
    アイテムの位置を中央揃えにします。
    .info-icon-box{
      .width(88*@convert);
      .height(88*@convert);
      .border-radius(10*@convert);
      .border(1@convert,#e3e3e3);
      オーバーフロー: 非表示;
      .margin-left(10*@convert);
      .min-width(88*@convert);
      .max-width(88*@convert);
      フレックス成長: 0;
      画像 {
        幅: 100%;
        高さ: 100%;
        .border-radius(10);
        垂直方向の位置合わせ: 上;
      }
    }
    .info-その他{
      フレックス成長: 1;
      ディスプレイ:フレックス;
      flex-flow:列の折り返しなし;
      オーバーフロー: 非表示;
      高さ:100%;
      .margin-left(10*@convert);
      .info-wrap{
        高さ:100%;
        .info-box{
          幅:100%;
          高さ:100%;
          フレックス成長: 1;
          ディスプレイ:フレックス;
          flex-flow:行を折り返さない;
          アイテムの位置を中央揃えにします。
          。情報{
            幅:48vw;
            高さ: 100%;
            フレックス成長: 1;
            ディスプレイ: フレックス;
            flex-direction:列;
            コンテンツの中央揃え: 中央;
            .margin-right(20*@convert);
            .info-title-rate{
              ディスプレイ: フレックス;
              flex-flow: 行の折り返しなし;
            }
            .info-title{
              フォントの太さ:太字;
              .font-size(24*@convert);
              .line-height(37*@convert);
              色: #484848 ;
              .margin-bottom(4*@convert);
            }
            .info-その他のレート{
              ディスプレイ: フレックス;
              アイテムの位置を中央揃えにします。
              コンテンツの配置: flex-start;
              位置:相対;
              zインデックス:2;
              .星の数{
                .font-size(15*@convert);
                色:#4a4a4a;
                .padding-right(5*@convert);
              }
              .star-evaluate {
                位置: 相対的;
                .width(100*@convert);
                .height(16*@convert);
                背景: url("../../assets/images/star_gray.png") 繰り返しなし 0 0;
                背景サイズ: カバー;
                オーバーフロー: 非表示;
                。星 {
                  位置: 絶対;
                  上: 0;
                  左: 0;
                  表示: インラインブロック;
                  .height(16*@convert);
                  背景: url("../../assets/images/star.png") no-repeat 0 0;
                  背景サイズ: カバー;
                  オーバーフロー: 非表示;
                }
                .star-1 {
                  .width(8*@convert);
                }
                .star-2 {
                  .width(21*@convert);
                }
                .star-3 {
                  .width(29*@convert);
                }
                .star-4 {
                  .width(42*@convert);
                }
                .star-5 {
                  .width(50*@convert);
                }
                .star-6 {
                  .width(63*@convert);
                }
                .star-7 {
                  .width(71*@convert);
                }
                .star-8 {
                  .width(84*@convert);
                }
                .star-9 {
                  .width(92*@convert);
                }
                .star-10 {
                  .width(100*@convert);
                }
              }
            }
            .info-desc-box {
              幅:100%;
              .height(20*@convert);
              .padding-all(4*@convert, 26*@convert, 4*@convert, 0);
              ボックスのサイズ: 境界線ボックス;
              オーバーフロー: 非表示;
              .info-desc{
                .font-size(14*@convert);
                .line-height(20*@convert);
                色: #484848 ;
                .info-その他のレート{
                  表示: なし;
                }
              }
              .ロールボックス{
                高さ:自動;
              }
            }
          }
          .info-インストール{
            .min-width(66*@convert);
            幅:コンテンツに合わせる;
            .height(40*@convert);
            .line-height(40*@convert);
            ボックスのサイズ: 境界線ボックス;
            .padding-all(0,4*@convert,0,4*@convert);
            .font-size(14*@convert);
            色:#fff;
            テキスト配置: 中央;
            .margin-right(20*@convert);
            背景:url("../../assets/images/btn_download_short_shadow.png") 繰り返しなし 0 0;
            背景サイズ:100% 100%;
          }
        }
      }
      &.info-desc-box {
        表示: なし;
      }
    }
  }
}

次の 3 つの点に注意してください。

1. アスペクト比は比率の形式でなければなりません。小数を直接記述することはできません。幅/高さ

2. less でアスペクト比を直接記述しても機能しません。less はそれを 10 進数にコンパイルするからです。比率の前に ~ を追加すれば、完璧に解決できます。

3. スタイル オーバーレイは避けてください。メディア クエリの大部分は最後に記述するのが最適です。

要約する

上記は、編集者が紹介した CSS メディア クエリ アスペクト比 レスの使用法です。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。編集者がすぐに返信します。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

<<:  Web デザインのスタイルはシンプルであればあるほど良いというのは本当でしょうか?

>>:  Kubernetes コントローラーとラベルの簡単な分析

推薦する

LinuxでIPアドレスを手動で設定するための詳細な手順

目次1.まずネットワークカードの設定ディレクトリに入る2. ifcfg-ens33ネットワークカード...

Vue-CLI3.xはプロジェクトをサーバーに自動的にデプロイします

目次序文1. scp2をインストールする2. テスト/本番環境サーバーのSSHリモートログインアカウ...

MySQLでよく使われる4つのストレージエンジンについて簡単に説明します。

よく使われる4つのMySQLエンジンの紹介(1):MyISAMストレージエンジン:トランザクションや...

反応ルーティングでパラメータを渡すいくつかの方法についての簡単な説明

最初のパラメータ渡し方法は、動的ルーティングパラメータ渡しです。リンクのパス属性を設定することで、ル...

srcまたはcss背景画像のurl値はbase64でエンコードされたコードです

ウェブ上の一部の画像の src または CSS 背景画像 URL の後に、data:image/pn...

Centos7 での Mysql5.7.19 の詳細なインストールチュートリアル

1. ダウンロード公式サイトからmysql-5.7.19-linux-glibc2.12-x86_6...

WeChatアプレットのスクロールビューは、プルアップ時にデータの読み込みを重複させるソリューションを実装しています。

WeChat アプレットのスクロール ビューでは、プルアップして読み込むときにバグが多く発生します...

VMware15 の CentOS7 インストールの詳細なプロセスとよくある問題 (画像とテキスト)

1. インストールパッケージの準備VMware-player-15.0.4-12990004、非商...

js を使用して年カルーセル選択効果をネイティブに実装する例

序文js を使用して、年の回転選択効果を実現します。では早速、写真を見てみましょう。 1. アイデア...

Nginx は動的と静的の分離を実装します 例の説明

ウェブサイトの解析を高速化するために、動的ページと静的ページを異なるサーバーで解析して、解析速度を向...

Linuxで大きなファイルを素早くコピーする方法

データをコピーリモートでデータをコピーする場合、通常は rsync コマンドを使用しますが、小さなフ...

vue3.2 で追加された defineCustomElement の基本原理の詳細な説明

目次Webコンポーネントカスタム要素概要HTMLTemplateElement コンテンツ テンプレ...

実用的なウェブオンラインツール12選

1.ファビコン.cc ico アイコンの Web サイトをオンラインで作成するには、画像をアップロー...

Vueは要素ツリーコントロールを通じてツリーテーブルを実装します

目次実装効果図依存関係をインストールするカスタムツリーコントロールその他の実装要約するVueでは、要...

MySQL の全体的なアーキテクチャの紹介

MySQL の全体的なアーキテクチャは、サーバー層とストレージ エンジン層に分かれています。サーバー...