2012-03-28 21 views
0

私はページとその非常に近いスタイルにしようとしていますが、私はちょっと混乱しています。私のpageWrapper divは、49pxの固定頂点を持つスペースの100%を占めるように設定されています。現在は39pxの固定底です。これは、目的のエフェクトに非常に近いものの、フッターdivの高さが24pxに設定されているだけです。余分な15ピクセルがどこから来ているのか知りたいです。私はそれが私のresearchTitle divクラスの製品だと思っていますが、これはdivを含む子要素であり、このように親要素に影響しません。以下はresearchTitleは15ピクセル、高さが100%に行くことも大きい用語のクラスを、原因は100%の上にそれを作るに設定されている間CSSレイアウトの問題

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Question.aspx.cs" Inherits="Question" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
    <style type="text/css"> 
     #header 
     { 
      position: absolute; 
      left: 0; 
      top: 0; 
      width: 100%; 
      height: 49px; 
      background: red; 
      overflow: hidden; 
     } 
     #pageWrapper 
     { 
      position: absolute; 
      height: auto; 
      top: 49px; 
      bottom: 39px; 
      left: 0px; 
      width: 100%; 
     } 
     #questionTop 
     { 
      overflow: auto; 
      position: relative; 
      left: 0; 
      width: 100%; 
      height: 40%; 
      background: blue; 
      overflow: auto; 
     } 
     #questionBottom 
     { 
      position: relative; 
      left: 0; 
      width: 100%; 
      height: 35%; 
      background: green; 
      overflow: auto; 
     } 
     #questionResearch 
     { 
      position: absolute; 
      left: 0; 
      width: 100%; 
      height: 25%; 
     } 

     #terms, #refs, #auth 
     { 
      position: absolute; 
      height: 100%; 
     } 
     #terms 
     { 
      left: 0; 
      width: 34%; 
     } 
     #refs 
     { 
      left: 34%; 
      width: 33%; 
     } 
     #auth 
     { 
      left: 67%; 
      width: 33%; 
     } 
     .researchTitle 
     { 
      position: relative; 
      top: 0; 
      height: 15px; 
      background: #999; 
      width: 100%; 
     } 

     .researchContent 
     { 
      position: relative; 
      overflow: auto; 
      background: #99C; 
      width: 100%; 
      height: 100%; 
     } 
     #footer 
     { 
      position: absolute; 
      left: 0; 
      width: 100%; 
      height: 24px; 
      bottom: 0; 
      background: red; 
      overflow: hidden; 
     } 
    </style> 
</head> 
<body> 
    <div id="header"> 
     Header 
    </div> 
    <div id="pageWrapper"> 
     <div id="questionTop"> 
      <p> 
       First</p> 
      <p> 
       Item</p> 
      <p> 
       Item</p> 
      <p> 
       Item</p> 
      <p> 
       Item</p> 
      <p> 
       Item</p> 
      <p> 
       Item</p> 
      <p> 
       Item</p> 
      <p> 
       Item</p> 
      <p> 
       Item</p> 
      <p> 
       Item</p> 
      <p> 
       Item</p> 
      <p> 
       Item</p> 
      <p> 
       Last</p> 
     </div> 
     <div id="questionBottom"> 
      <p> 
       First</p> 
      <p> 
       Item</p> 
      <p> 
       Item</p> 
      <p> 
       Item</p> 
      <p> 
       Item</p> 
      <p> 
       Item</p> 
      <p> 
       Item</p> 
      <p> 
       Item</p> 
      <p> 
       Item</p> 
      <p> 
       Item</p> 
      <p> 
       Item</p> 
      <p> 
       Item</p> 
      <p> 
       Item</p> 
      <p> 
       Last</p> 
     </div> 
     <div id="questionResearch"> 
      <div id="terms"> 
       <div class="researchTitle"> 
        Terms</div> 
       <div class="researchContent"> 
        <p> 
         First</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Last</p> 
       </div> 
      </div> 
      <div id="refs"> 
       <div class="researchTitle"> 
        Refs</div> 
       <div class="researchContent"> 
        <p> 
         First</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Last</p> 
       </div> 
      </div> 
      <div id="auth"> 
       <div class="researchTitle"> 
        Authority</div> 
       <div class="researchContent"> 
        <p> 
         First</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Last</p> 
       </div> 
      </div> 
     </div> 
    </div> 
    <div id="footer"> 
     Footer 
    </div> 
</body> 
</html> 
+0

代わりにデモを設定できますか? – Starx

+0

フッターの高さ24pxから底部までの39pxが15px離れている理由が不思議ですか? – mikevoermans

+0

追加の15pxはどこに表示されますか? – Starx

答えて

1

あなたのクラスresearchContentの高さを100%に設定されているレイアウトをフォーマットするための私のデザインコードです予想よりも

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" `"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
    <style type="text/css"> 
     #header 
     { 
      position: absolute; 
      left: 0; 
      top: 0; 
      width: 100%; 
      height: 49px; 
      background: red; 
      overflow: hidden; 
     } 
     #pageWrapper 
     { 
      position: absolute; 
      height: auto; 
      top: 49px; 
      bottom: 39px; 
      left: 0px; 
      width: 100%; 
     } 
     #questionTop 
     { 
      overflow: auto; 
      position: relative; 
      left: 0; 
      width: 100%; 
      height: 40%; 
      background: blue; 
      overflow: auto; 
     } 
     #questionBottom 
     { 
      position: relative; 
      left: 0; 
      width: 100%; 
      height: 35%; 
      background: green; 
      overflow: auto; 
     } 
     #questionResearch 
     { 
      position: absolute; 
      left: 0; 
      width: 100%; 
      height: 28%; 
     } 

     #terms, #refs, #auth 
     { 
      position: absolute; 
      height: 100%; 
     } 
     #terms 
     { 
      left: 0; 
      width: 34%; 
     } 
     #refs 
     { 
      left: 34%; 
      width: 33%; 
     } 
     #auth 
     { 
      left: 67%; 
      width: 33%; 
     } 
     .researchTitle 
     { 
      position: relative; 
      top: 0; 
      height: 12%; 
      background: #999; 
      width: 100%; 
     } 

     .researchContent 
     { 
      position: relative; 
      overflow: auto; 
      background: #99C; 
      width: 100%; 
      height: 88%; 
     } 
     #footer 
     { 
      position: absolute; 
      left: 0; 
      width: 100%; 
      height: 24px; 
      bottom: 0; 
      background: red; 
      overflow: hidden; 
     } 
    </style> 
</head> 
<body> 
    <div id="header"> 
     Header 
    </div> 
    <div id="pageWrapper"> 
     <div id="questionTop"> 
      <p> 
       First</p> 
      <p> 
       Item</p> 
      <p> 
       Item</p> 
      <p> 
       Item</p> 
      <p> 
       Item</p> 
      <p> 
       Item</p> 
      <p> 
       Item</p> 
      <p> 
       Item</p> 
      <p> 
       Item</p> 
      <p> 
       Item</p> 
      <p> 
       Item</p> 
      <p> 
       Item</p> 
      <p> 
       Item</p> 
      <p> 
       Last</p> 
     </div> 
     <div id="questionBottom"> 
      <p> 
       First</p> 
      <p> 
       Item</p> 
      <p> 
       Item</p> 
      <p> 
       Item</p> 
      <p> 
       Item</p> 
      <p> 
       Item</p> 
      <p> 
       Item</p> 
      <p> 
       Item</p> 
      <p> 
       Item</p> 
      <p> 
       Item</p> 
      <p> 
       Item</p> 
      <p> 
       Item</p> 
      <p> 
       Item</p> 
      <p> 
       Last</p> 
     </div> 
     <div id="questionResearch"> 
      <div id="terms"> 
       <div class="researchTitle"> 
        Terms</div> 
       <div class="researchContent"> 
        <p> 
         First</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Last</p> 
       </div> 
      </div> 
      <div id="refs"> 
       <div class="researchTitle"> 
        Refs</div> 
       <div class="researchContent"> 
        <p> 
         First</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Last</p> 
       </div> 
      </div> 
      <div id="auth"> 
       <div class="researchTitle"> 
        Authority</div> 
       <div class="researchContent"> 
        <p> 
         First</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Item</p> 
        <p> 
         Last</p> 
       </div> 
      </div> 
     </div> 
    </div> 
    <div id="footer"> 
     Footer 
    </div> 
</body> 
</html> 
+0

それで、これらのパネルを別のdivタグにラップしてスペースを分割する必要がありますか? – Siegeon

+0

それを試してみてください。正直なところ、高さのレイアウトで%とピクセルの両方を使うのは良いことではありません。私はあなたが達成しようとしていることを正確にはわかりませんが、下の3つの部門のタイトルを見ることができるはずです – chadpeppers

+0

ありがとうございました。いずれにせよ、問題を指摘してくれてありがとう! – Siegeon