2015-12-21 116 views
0

所以即時嘗試製作面板。每個面板都有一個標題和一個內容。現在我想只能在內容上滾動。滾動內部div

的CSS:

.content-div{ 
    float:left; 
    height: 400px; 
    overflow-x:hidden; 
    overflow-y:hidden; 
    white-space: nowrap; 
} 

.panel-div{ 
    height:100%; 
    background-color: red; 
    display: inline-block; 
    overflow-y:hidden; 
} 

.panel-content{ 
    padding: 5px; 
    height:100%; 
    overflow-y:auto; 
} 

.panel-header{ 
    height:100px; 
    width:400px; 
    text-align:right; 
    padding:5px; 
    background-color: blue; 
} 

和HTML:

<div class="content-div"> 
    <div class="panel-div"> 
     <div class="panel-header"> 
     </div> 
     <div class="panel-content"> 
      <p>test</p> 
     </div> 
    </div> 
</div> 

的問題是,面板內容的div獲取的內容div的,全高度,我不能拿出一個很好的我如何使它100%的content-div解決方案,並從頭文件中取走100像素。我知道css3中有calc,但是有沒有其他方法可以做到這一點?

+0

您的標記無效 – imGaurav

+0

您的HTML似乎不完整? – Ant

+0

當我把它複製進去的時候,想一些它會丟失。現在應該修復。 https://jsfiddle.net/zwvwvrgz/這個小提琴顯示我的意思。 – Nbergk

回答

0

你應該能夠achiive你想要什麼改變以下內容:

.content-div { 
 
    float: left; 
 
    height: 400px; 
 
    white-space: nowrap; 
 
} 
 
.panel-div { 
 
    height: 100%; 
 
    background-color: red; 
 

 
    /* add the following */ 
 
    padding-top: 100px; 
 
    box-sizing: border-box; 
 
} 
 
.panel-content { 
 
    height: 100%; 
 
    overflow-y: auto; 
 
    padding: 5px; 
 

 
    box-sizing: border-box; /* add this*/ 
 
} 
 
.panel-header { 
 
    height: 100px; 
 
    width: 400px; 
 
    text-align: right; 
 
    padding: 5px; 
 
    background-color: blue; 
 

 
    /* add the following */ 
 
    box-sizing: border-box; 
 
    margin-top: -100px; 
 
}
<div class="content-div"> 
 
    <div class="panel-div"> 
 
    <div class="panel-header"> 
 
     <p>head</p> 
 
    </div> 
 
    <div class="panel-content"> 
 
     <div class="padded"> 
 
     <p>test</p> 
 
     <p>test</p> 
 
     <p>test</p> 
 
     <p>test</p> 
 
     <p>test</p> 
 
     <p>test</p> 
 
     <p>test</p> 
 
     <p>test</p> 
 
     <p>test</p> 
 
     <p>test</p> 
 
     <p>test</p> 
 
     <p>test</p> 
 
     </div> 
 
    </div> 
 
    </div> 
 
</div>

但是如果你的DIV是400像素,你可以只讓你.panel-content股利300像素,並把滾動對此

+0

這使得滾動部分工作。但標題不顯示。我猜這是因爲我已經隱藏在content-div上的溢出,它不會顯示標題 – Nbergk

+0

@ user3664615,請參閱編輯。我已經添加了你的html結構 – Pete

+0

這給出了同樣的問題。如果您添加足夠多的測試段落以啓動溢出,您將看到整個滾動條未顯示,因爲內容超出了div。我可以通過添加填充底部來解決這個問題:-100px;到面板的內容,但我認爲它的uggly,因爲你仍然不會在整個滾動條 – Nbergk