-3

フッターに収まるコンテナとして使用するdivがあります

#footcompatible { width:985px; height:50px; display:block; position:relative; left:0; top:0;  <--- FIXED changed to top = 50px (the height) and added bottom -50px}

マスターページの HTML は次のとおりです。

<asp:ContentPlaceHolder ID="MainContent" runat="server" />              
    <div id="footcompatible">
    <div class="footerbarsTop"><!-- insert footer bar --></div>
    <div id="footerblock"><%Html.RenderPartial(ViewData["footer"].ToString()); %></div>     
    <div class="footerbarsBot"><!-- insert footer bar --></div>
    </div>

contentplaceholder は、たとえば、私のページのコンテンツに置き換えられます。たとえば、コンテンツの何とか何とかテキストなどを展開します

そして上記のcss:

.iceabtside {display:block; width:271px; height:auto; position:absolute; left:697px;      top:0; border:0px solid white; text-align:left;}
 also this is what i missed of on my initial paste 
.iceabtfm 
{
    display:block; width:661px; height:auto; position:relative; left:24px; top:0;    text-align:left;
 }

この後に来たいフッターブロックですが、実際に得られるのは、それがページの半分下にあり、コンテンツの上にあることです。追加するコンテンツが増えても問題はありません。上記のコンテンツの高さがわからないので、絶対的な位置付けはできません! コンテンツの一番上に配置を削除すると、非常に奇妙で、頭を少し悩ませています。

4

3 に答える 3

2

あなたの説明が理解できません。言い換えるか、オンラインの例やスケッチを作成できますか?

とにかく、2つの基本的なルール:

  • position: absoluteボディまたは次の祖先要素に対して相対的であり、いずれかposition: absoluteまたはrelativeセットされています。したがって、あなたの例では、 set toをfootCompatible使用して内部にあるものは、文書全体ではなく、左上隅を開始点 (左 = 0、上 = 0) とします。相対的に配置された要素から要素を取り出す以外に、これを回避する方法はありません。positionabsolutefootCompatible

  • Position: absoluteドキュメントのフローから要素を取り出し、他のすべての要素の上に浮かせます (プロパティと混同しないでくださいfloat。それは何か違うものです)。position: absolute要素の高さによっては、後続のフッター要素をさらに下に押し出すことはできません。要素にフッターを埋め込むか、別のアプローチを取る必要があります。

于 2010-03-06T18:36:52.350 に答える
1

.iceabtsideCSS クラスでは、位置を絶対位置として定義します。したがって、フッター div は、iceabtside div がどこにあるかを「認識」せず、iceabtside div が同じ場所にある場合でも、以前の相対 div の後に配置します。

于 2010-03-06T18:52:43.570 に答える
0

相対位置は、要素の位置を、ドキュメント内で最初に割り当てられた位置に対して非常に多くのピクセル数で設定します。上と左の両方を 0 に設定すると、要素はまったく移動しません。たとえば、top を 10 に設定すると、要素は割り当てられた位置から 10 ピクセル下に移動します。または、right を 50 に設定すると、要素はその位置から 50 ピクセル左に移動します。相対的に配置された要素は、その周りの要素を再配置しないことに注意してください。絶対的に配置された要素と同様に、単にオーバーラップします。

あなたの「iceabtside」クラスは価値がないようです。まず、ディビジョンをブロックとして宣言する必要はありません。これがデフォルトであるためです。高さを auto として宣言すると、内部のコンテンツに基づいて高さが自動的に調整されます。あなたがする必要があるのは、すべてのポジショニングのものを取り除き、マージンを設定して、ページの中央またはあなたがしようとしているものに配置することです. そうすれば、フッター要素がすべてのコンテンツの後に来るようになります。

于 2010-03-06T18:37:29.780 に答える