ホームページ > ウェブフロントエンド > CSSチュートリアル > CSSを使用してサイズ変更中にDivのアスペクト比を維持するにはどうすればよいですか?

CSSを使用してサイズ変更中にDivのアスペクト比を維持するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-31 21:28:18
オリジナル
647 人が閲覧しました

How to Maintain Aspect Ratio of a Div During Resizing Using CSS?

アスペクト比を維持しながら Div サイズを応答的に変更する方法

画像のサイズを変更するとき、幅または幅を設定することでアスペクト比を維持するのは簡単です。身長をパーセンテージで表したもの。ただし、非画像要素に対して同じ効果を実現するのは難しいように思えるかもしれません。サイズ変更中にアスペクト比を維持するために、パーセンテージを使用して div の幅と高さをリンクできますか?

解決策

もちろんです! CSS は、この問題に対する独創的な解決策を提供します。直観に反しているように思えるかもしれませんが、パディングトップのパーセンテージは実際には、それを含むブロックの幅に関係します。これにより、指定された幅に基づいて動的な高さを作成できます。

次の CSS コードを考えてみましょう:

.wrapper {
  width: 50%; /* Set the desired width */
  display: inline-block;
  position: relative;
}
.wrapper:after {
  padding-top: 56.25%; /* 16:9 aspect ratio */
  display: block;
  content: '';
}
.main {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background-color: deepskyblue;
  color: white;
}
ログイン後にコピー

HTML で、サイズを変更したい div をラップします。 "wrapper" のクラス:

<div class="wrapper">
  <div class="main">
    This is your div with the specified aspect ratio.
  </div>
</div>
ログイン後にコピー

この CSS は、 「ラッパー」部門パディングトップをラッパーの幅のパーセンテージとして設定することにより、ラッパー内の div のアスペクト比を効果的に修正します。ラッパーのサイズが変更されると、疑似要素も変更され、含まれる div (「メイン」) が常に目的のアスペクト比を維持することが保証されます。

以上がCSSを使用してサイズ変更中にDivのアスペクト比を維持するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート