私はCSS3にかなり慣れていません。他の質問を読みましたが、それらが私のケースをカバーしているかどうかわからないので、しばらくお待ちください:)
このサンプルページがあります:
<html>
<head>
<style type="text/css">
body { background-color: black; margin: 0; }
#main { background-color: red; width: 60%; height: 100vh; margin: auto; }
#header { background-color: white; width: 100%; height: 25%; max-height: 100px; }
#article { background-color: orange; width: 100%; height: 55%; }
#footer { background-color: blue; width: 100%; height: 20%; max-height: 80px; }
</style>
</head>
<body>
<div id="main">
<div id="header"></div>
<div id="article"></div>
<div id="footer"></div>
</div>
</body>
</html>
実装する必要がある追加の必須の動作が 1 つと、オプションの動作が 1 つあります。
必須の
ご覧のとおり、ブラウザー ウィンドウがかなり高くなると、#header と #footer は適切に成長を停止し、その高さは背景の赤い #main div のままになります。私が必要とするのは、#article がこのスペースを取得することです。そのため、常に #footer をブラウザー画面の下の境界線に「プッシュ」します。
オプションの
レイアウト自体は無制限に水平方向にサイズ変更されますが、#article div は左右にフェードする背景画像を設定しています。より正確には、座標 (1,1) から (100,1) にフェードインし、(901,1) から (1000,1) にフェードアウトする 1000x1 の画像で、#article の高さをカバーするために垂直方向に繰り返されます。この画像が非フェード領域でのみ伸びる効果を得るにはどうすればよいですか (フェードした境界線が引き伸ばされないようにするため)。余分な div なしでそれを取得できますか (その場合、必須の動作はそれを水平方向に繰り返します)?
どうもありがとう :)