2013-01-24 79 views
2

我有以下特殊問題。讓我們開始的代碼片段:表格單元格中的水平滾動

... 
<td> 
    <div class="scrollable">...</div> 
    ...other cell content... 
</td> 
... 

現在我想表呈現彷彿div.scrollable不會採取任何的橫向空間(即div.scrollable不會對錶的右側推),但秀水平滾動條(在div.scrollable上,而不是在整個單元格上)如果div.scrollable比包含單元格更寬。有可能通過CSS來完成嗎?

謝謝!

+0

什麼做你的CSS是什麼樣子? –

+0

這是可能的,你有什麼嘗試?看看CSS溢出屬性。 – sachleen

回答

1

幸得高價作爲他的jsfiddle例子回答了這個問題,但在這裏有代碼的答案,我將其附加波紋管:

... 
<style type="text/css> 
    .mytable { 
    table-layout: fixed; 
    } 
    .scrollable{ 
    overlow-y: auto; 
    } 
</style> 
... 
<table class="mytable"> 
<tr> 
    <td> 
    <div class="scrollable">...</div> 
    other content... 
    </td> 
</tr> 
</table> 
+0

如果答案有幫助,請考慮投票,如果它給了您一個解決方案,那麼將其標記爲答案,它可以幫助每個人。謝謝 – Pricey

9

使用您的基本示例,您可能需要在td上設置一個寬度,並使用overflowoverflow-yoverflow-y只是CSS3,但您沒有指定IE8及更低版本。

編輯對不起,你還需要display:block;td

td { display: block; width: 50px; } 
.scrollable { overflow: scroll; overflow-y:hidden; } 

UPDATE: 見的jsfiddle例子中,注意在桌子上,固定佈局的寬度爲100%..這就是停止例如從向視口添加水平滾動並繼續。 http://jsfiddle.net/MMeTe/4/

+0

好吧,我忘了提及我不想在單元格上設置特定的寬度以容納其他內容。 – baa2w

+0

好吧,有點需要看看你使用它,即如果表有一個設置的寬度,或者如果你希望它流動到視口?那麼也許你應該將一個類應用於這個特定的'td'並在其上設置一個%寬度?因爲你的'td'只是調整大小以適應其內容。或者在'scrollable'周圍添加一個包裝,並將寬度應用於包裝。 – Pricey

+0

假設表格佔用了視口寬度的80%,而可滾動div的內部固定寬度爲500px(作爲示例)。在這種情況下,只有當視口的80%低於500像素時,可滾動div才應具有水平滾動條,否則div應該完全可見。 – baa2w