2012-04-22 62 views
1

我構建了一個利用字幕元素的表格;桌子周圍有盒子陰影,默認情況下,標題放置在桌子上方,盒子陰影之外。我試圖讓標題落入箱形陰影內。我將標題的顯示更改爲display:table-header-group,它將其放置在表格內,但是「打破」了我期望的佈局....您可以在此處看到:http://jsfiddle.net/jalbertbowdenii/YraVE/(我只在鉻中查看過)第一列佔用了很多比其他列更寬。任何人都知道一個解決方案,將標題放在表中,同時不移動列寬?獲取與表格元素內嵌的字幕元素

CSS:

table{border-collapse:collapse; border-spacing:0; padding-top:0.5em; padding-bottom:0.5em; margin:0.8em auto; -moz-box-shadow:0 0 4px #000; -ms-box-shadow:0 0 4px #000; -o-box-shadow:0 0 4px #000; -webkit-box-shadow:0 0 4px #000; box-shadow:0 0 4px #000; color:#000; width:80%} 
.captionx{display:table-header-group} 

HTML:

<h1>Caption Default <code>display:table-caption</code></h1>  
<table summary="Summary of Table Data"> 
     <caption>Caption for Table</caption> 
     <thead><tr><th>Sun</th><th>Mon</th><th>Tues</th><th>Wed</th><th>Thu</th><th>Fri</th><th>Sat</th></tr></thead> 
     <tfoot><tr><td colspan="7"><p>Table Footer</p></td></tr></tfoot>  
     <tbody> 
      <tr><td>01</td><td>02</td><td>03</td><td>04</td><td>05</td><td>06</td><td>07</td></tr>   
     </tbody> 
     </table> 
<hr /> 
<h1>Caption set to <code>display:</code></h1> 
     <table summary="Summary of Table Data"> 
     <caption class="captionx">Caption for Table</caption> 
     <thead><tr><th>Sun</th><th>Mon</th><th>Tues</th><th>Wed</th><th>Thu</th><th>Fri</th><th>Sat</th></tr></thead> 
     <tfoot><tr><td colspan="7"><p>Table Footer</p></td></tr></tfoot>  
     <tbody> 
      <tr><td>01</td><td>02</td><td>03</td><td>04</td><td>05</td><td>06</td><td>07</td></tr>   
     </tbody> 
     </table> 

回答

2

我只是碰到了同樣的問題,得到了這個問題。如果您確定您的標題只有一行(即您知道它是高度),則可以嘗試將其設置爲position:absolutetableposition:relative,其中padding-top等於caption的高度。

table { 
    position: relative; 
    padding-top: 20px; 
} 

caption { 
    position: absolute; 
    top: 0; 
    left: 0; 
    height: 20px; 
    line-height: 20px; 
} 
+0

這不適合我。 http://jsfiddle.net/YraVE/3/ – albert 2017-09-09 22:41:23