6

左側に画像、右側にコンテンツを表示したいレイアウトを作成したいと思います。コンテンツがスクロールするとき、画像は一定のままである必要があります。

私が使用しているCSS:

    <style type="text/css">

        #page-container
        {
            margin:auto;            
            width:900px;              
            background-color:Black;
        }

        #header
        {
           height:150px;
           width:650px;
        }

        #main-image
        {
            float:left;
            width:250px;
            height:500px;
            background-image:url('../images/main-image.png');
            position:fixed;
        }


        #content
        {
             margin-left:250px;
             padding:10px;
             height:250px;
             width:630px;
             background-color:Teal;

        }
    </style>

HTML:

<div id="page-container">
    <div id="header"><img src="someimagelink" alt="" /></div>
    <div id="main-image"></div>
    <div id="content"></div>    
</div>

このサイトには多くの時間があり、background-attachment:fixedは、適用される要素ではなく、ビューポート全体に画像を配置することを理解しています。

私の質問は、そのようなレイアウトを作成するにはどうすればよいですか?

その画像を背景画像として表示したくありません。ウィンドウのサイズが変更された場合、ウィンドウが非表示になる可能性があるためです。ウィンドウサイズが900px(私のページ幅)未満の場合にスクロールバーを表示して、画像をいつでも表示できるようにしたい。

これはこのコードで発生しますが、代わりに画像を自分の要素から開始したいと思います。

どうすればこれを行うことができますか?

前もって感謝します :)

編集:

私はアドバイスを受けて、position:fixedプロパティを#main-imageに追加しました。上記のようにHTMLとCSSを使用します。さて、ヘッダーが動かないように修正したいと思います。基本的に、私のコンテンツセクションのみがスクロールする必要があります。ただし、ヘッダーにposition:fixedを追加すると、#main-imageと#contentがヘッダーの上に配置されるようになります。#main-imageにmargin-top:150px(ヘッダーの高さが150pxであるため)を追加すると、正常に機能し、適切に下に移動します。ただし、margin-top:150pxを#contentに追加すると、ヘッダーが150px下に移動し、#contentの上に残ります。誰かがこれが起こっている理由を説明できますか?前もって感謝します :)

4

3 に答える 3

3

このリンクを見てください:

http://www.barelyfitz.com/screencast/html-training/css/positioning/

それを使って Div を配置する方法を学ぶことができます。

これで問題が解決します: #main-image {position:fixed;}


編集:あなたの問題の原因はわかりませんが、解決策は次のとおりです。 #content{ position:relative; top:150px; }

私の推測: position:fixed を使用すると、これらの 2 つの div はブラウザー ウィンドウに対して相対的に配置され、もう 1 つの div はドキュメント自体に対して相対的に配置されたために発生したと思います。

このリンクでは、ポジショニングの詳細が表示され、position プロパティに関連するこれらの機能のいくつかをテストできます。

http://www.w3schools.com/cssref/pr_class_position.asp

ある div が別の div の上に配置されたという事実については、「z-index」プロパティを検索する必要があります。Firefox には 3D モードがあるため、これをより明確に確認できます。

http://www.addictivetips.com/internet-tips/browse-internet-in-3d-using-mozilla-firefox-11-tip/

于 2012-10-15T17:33:06.053 に答える
0

#page-container を相対に設定し、#main-image コンテナーを絶対に設定し、上、下などを使用して位置を設定しようとしましたか?次に、#content コンテナーを右にフロートできるはずです。

于 2012-10-15T15:46:48.023 に答える
0

とをセットしmin-widthます。htmlbody

于 2012-10-15T15:34:22.353 に答える