ホームページ > ウェブフロントエンド > CSSチュートリアル > CSS グリッドで正確に等しい列幅を実現するにはどうすればよいですか?

CSS グリッドで正確に等しい列幅を実現するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-06 09:11:03
オリジナル
964 人が閲覧しました

CSS グリッドでの正確な等しい列幅

CSS グリッドで同じサイズの列を作成するのは簡単そうに見えますが、それには特別なアプローチが必要です。 Flexbox はフレックスベースのプロパティを使用して簡単なソリューションを提供しますが、CSS グリッドではより正確な構成が必要です。

課題:

次のような HTML 構造があるとします。

<code class="html"><div class="row">
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
</div></code>
ログイン後にコピー

目標は、行内の子要素の数に関係なく、これらの要素を同じ列に表示することです。

解決策:

共通1fr は列の厳密な等価性を強制するのではなく、使用可能なスペースを分配するため、repeat(3, 1fr) のアプローチでは不十分です。コンテンツがトラック サイズを超える場合、自動的に調整されず、列幅が不均一になる可能性があります。

正確に同じ列幅を実現するには、次の CSS プロパティを使用します:

<code class="css">grid-template-columns: repeat(3, minmax(0, 1fr));</code>
ログイン後にコピー

説明:

minmax(0, 1fr) では、グリッド トラックを 0 まで小さく、1fr まで大きくすることができます。これにより、列が等しくなることが保証されます。ただし、コンテンツが列より大きい場合、または折り返すことができない場合は、オーバーフローが発生する可能性があるため、注意してください。

違いを示すために、次の例を考えてみましょう。

<code class="css">.equalColumns {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.minmaxEqualColumns {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}</code>
ログイン後にコピー

equalColumns stop(3, 1fr) を使用:

EqualColumns result

minmaxEqualColumns with stop(3, minmax(0, 1fr)):

MinmaxEqualColumns result

以上がCSS グリッドで正確に等しい列幅を実現するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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