ホームページ  >  記事  >  ウェブフロントエンド  >  固定位置を使用すると、100% グリッド テンプレート列を持つグリッドが本体を超えてしまうのはなぜですか?

固定位置を使用すると、100% グリッド テンプレート列を持つグリッドが本体を超えてしまうのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-02 09:07:02581ブラウズ

Why does a grid with 100% grid-template-columns extend beyond the body when using fixed positioning?

グリッド テンプレート列が 100% あるとグリッドが本体を超えています

グリッド テンプレート列が 100% ある表示グリッドが拡張されるのはなぜですか位置が固定に設定されている場合、本文を超えて表示されますか?

問題:

次の CSS と HTML を検討してください:



< ;pre class="snippet-code-css lang-css prettyprint-override">.parent {
位置:固定;
幅:100%;
左:0;
上:14px ;
表示:グリッド;
グリッド テンプレート列:40% 60%;
グリッド ギャップ:5px;
背景:#eee;
}
.left {
border:2px ソリッドレッド;
}
.right {
border:2px ソリッドレッド;
}
<div class='parent'><br> <div class='left'>LEFT</div><br> <div class='right'> RIGHT</div><br></div>

位置が固定されていない場合、グリッドは正しく表示されます。ただし、位置を固定に設定すると、グリッドは右側のボディを超えて拡張されます。

解決策:

問題は 100% の幅ではなく、 Grid-template-columns プロパティを使用します。パーセンテージと固定グリッド ギャップを使用すると、利用可能なスペースの 100% を超えます。

代わりに、fr ユニットを使用して、グリッド ギャップを考慮して空きスペースを比例的に分配します。



.parent {<br> 位置:固定;<br> 幅:100%;<br> 左:0 ;<br> トップ:14px;<br> 表示:グリッド;<br> グリッド テンプレート列:4fr 6fr;<br> グリッド ギャップ:5px;<br> 背景:#eee;<br>}<br>.left {<br> border:2px 赤一色;<br>}<br>.right {<br> border:2px 赤一色;<br>}

<div class='parent'><br> <div class='left'>LEFT</div><br> <div class= 'right'>RIGHT</div><br></div>

fr 単位を使用することで、グリッドはスペースを正しく分配するようになりました。体の境界内に確実に留まるようにします。

以上が固定位置を使用すると、100% グリッド テンプレート列を持つグリッドが本体を超えてしまうのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。