背景画像がスクロールバーを生成しないように、マークアップと CSS を作成する必要があります。ビューポートが内側のコンテンツ ラッパーよりも狭い場合にのみ、スクロールバーが作成されます。
私にはうまくいきません: div を右に絶対に配置すると、左がそうでない場合にスクロールバーが発生します。
固定レイアウトでの無駄な試みの 1 つ:
#background {
width: auto;
margin-left: -75px;
margin-right: -75px;
}
含まれているブロックから左にぶら下がっている領域 (負のマージンのため) は、左にスクロールしても到達できません。はい!ただし、margin-right を負にすると、ビューポートが狭い場合にスクロールバーが作成されます。ビューパートが含まれているブロックよりも広い限り、スクロールバーを防ぐにはどうすればよいですか?
マークアップ:
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8" />
<title> </title>
<link rel="stylesheet" type="text/css" href="css/general.css" media="screen, projection"/>
<!--[if lte IE 7]>
<link rel="stylesheet" type="text/css" href="css/general-ie.css" media="screen"/>
<![endif]-->
</head>
<body>
<div id="page">
<img id="background" src="images/visual.jpg" alt="" />
<div id="head"><h1>Page title</h1></div><!-- /#head -->
<div id="mainpart">
<ul id="zones">
<li>
<ul>
<li class="module">Modul #1</li><!-- /#module -->
</ul>
</li>
</ul><!-- /#zones -->
<hr />
</div><!-- /#mainpart -->
<div id="foot"><h1>Footer</h1></div><!-- /#foot -->
</div><!-- /#page -->
</body>
</html>
CSS ルール:
body {
background: #000;
color: #000;
}
#page, #mainpart {
background: #fff;
}
#page {
width: 1024px;
margin: 0 auto;
position: relative;
}
#background {
position: absolute;
top: 0;
left: 0;
z-index: -1;
width: auto;
margin-left: -75px;
margin-right: -75px;
}
誰か私に良いアドバイスをくれませんか?ありがとうございました。