首頁 > web前端 > css教學 > 主體

css表格設定table-layout:fixed後對儲存格寬度設定無效的解決辦法

黄舟
發布: 2017-06-30 13:38:04
原創
5407 人瀏覽過

在設定表格設定table-layer:fixed樣式後,發現表格中有一行合併過,其它沒有合併的行的列寬會平均化,對列寬的設定會失效,下面有詳細的解決方法,大家可以學習學習 在設定表格設定table-layer:fixed樣式後,發現表格中有一行合併過,其它沒有合併的行的列寬會平均化,對列寬的設定會失效。如果把表格的合併行去掉,又能正常顯示。

原因:table-layout: fixed 的表格,各列寬度由第一行決定,後面指定的寬度會被忽略。你第一行合併了,所以各列寬度均分了。

解決方法一:

在tbody前面加上

#程式碼如下:

<col style="width: 60%" /> 
<col style="width: 20%" /> 
<col style="width: 20%" />
登入後複製

解決方法二:
設定一個隱藏的行來規定寬度: 

程式碼如下:

<table style="table-layout:fixed;width:200px" border="1" cellspacing="1" cell
padding
="1"> 
<tr style="
display
:none"> 
<td style="width:100px"></td> 
<td style="width:80px"></td> 
<td style="width:20px"></td> 
</tr> 
<tr> 
<td>1</td> 
<td colspan="2">2</td> 
</tr> 
<tr> 
<td>1.1</td> 
<td>2.1</td> 
<td>2.2</td> 
</tr> 
</table>
登入後複製

這個方法,在IE6,IE7,IE8中都可以正確地顯示,但在非IE中,是沒起作用的。下面給出另外一種方法:

程式碼如下:

<style> 
td{border:1px solid red;} 
</style> 
<table style="table-layout:fixed;width:200px" border="0" cellspacing="1" cellpadding="1"> 
<tr style="
height
:0;"> 
<th style="width:100px"></th> 
<th style="width:80px"></th> 
<th style="width:20px"></th> 
</tr> 
<tr> 
<td>1</td> 
<td colspan="2">2</td> 
</tr> 
<tr> 
<td>1.1</td> 
<td>2.1</td> 
<td>2.2</td> 
</tr> 
</table>
登入後複製


#

以上是css表格設定table-layout:fixed後對儲存格寬度設定無效的解決辦法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!