1. 程式人生 > >CSS中設定表格TD寬度的問題

CSS中設定表格TD寬度的問題

                 

CSS佈局,表格寬度不聽使喚的例項。想把表格第一例寬度設為20,其他自適應。但CSS中寬度是等寬的。只設這一行也不起作用。但是在實際應用中總是等寬處理,並不按照樣式來走。

XML/HTML程式碼
  1. <tablewidth="100%">
  2.                          <tr>
  3.                            <tdcolspan="6"align="center"><strong>少 兒 瑜 伽 課 程 </strong></td>
  4.                          </tr>
  5.                          <
    tr>
  6.                            <tdwidth="20"> 1</td>
  7.                            <td></td>
  8. <td></td>
  9. <td></td>
  10. <td></td>
  11. <td></td>
  12.                          </tr>
  13.                          <tr>
  14.                            <tdwidth="20"
    > 2</td>
  15.                            <td></td>
  16. <td></td>
  17. <td></td>
  18. <td></td>
  19. <td></td>
  20.                          </tr>
  21.                        </table>

修改過程一:如圖把行整個設一次,不起作用。

XML/HTML程式碼
  1.                          <tr>
  2.                            <
    tdwidth="20"> 1</td>
  3.                            <tdwidth="138"></td>
  4. <tdwidth="138"></td>
  5. <tdwidth="138"></td>
  6. <tdwidth="138"></td>
  7. <tdwidth="138"></td>
  8.                          </tr>

修改二:把這行寫法全部換成PX,不起作作。

XML/HTML程式碼
  1.                          <tr>
  2.                            <tdstyle="width:20px; "> 1</td>
  3.                            <tdstyle="width:138px; "></td>
  4. <tdstyle="width:138px; "></td>
  5. <tdstyle="width:138px; "></td>
  6. <tdstyle="width:138px; "></td>
  7. <tdstyle="width:138px; "></td>
  8.                          </tr>

修改三:這行改成CSS控制,也不起作用。

XML/HTML程式碼
  1. <tr>
  2.                            <tdclass="widtd_20"></td>
  3.                            <tdclass="width_138"></td>
  4.                            <tdclass="width_138"></td>
  5.                            <tdclass="width_138"></td>
  6. <tdclass="width_138"></td>
  7. <tdclass="width_138"></td>
  8.                          </tr>
CSS程式碼
  1. td.widtd_20 {  
  2.     width:20px;   
  3. }  
  4. td.width_138 {  
  5.     width:138px;   
  6. }  

修改四:按修改三,把表格的每一行都用了CSS。還是不起作用。

修改五:在修改四的基礎上,把每行的最後一個CSS控制去掉。還是不起作用。因為看了藍色理想的文章,表格定義了100%,最後一個TD要讓它自適應寬度。見下文,但這樣改法還是不行。

XML/HTML程式碼
  1. <tr>
  2.   <tdclass="widtd_20"></td>
  3.   <tdclass="width_138"></td>
  4.   <tdclass="width_138"></td>
  5.   <tdclass="width_138"></td>
  6.   <tdclass="width_138"></td>
  7.   <td></td>
  8. </tr>

修改六:將上面的表格分成兩個,其中定義寬度的行位於最上面,即解決問題。

XML/HTML程式碼
  1. <tablewidth="100%">
  2.                          <tr>
  3.                            <tdcolspan="6"align="center"><strong>少 兒 瑜 伽 課 程 </strong></td>
  4.                          </tr>
  5. </table>
  6. <tablewidth="100%">
  7.                          <tr>
  8.                            <tdwidth="20"> 1</td>
  9.                            <td></td>
  10. <td></td>
  11. <td></td>
  12. <td></td>
  13. <td></td>
  14.                          </tr>
  15.                          <tr>
  16.                            <tdwidth="20"> 2</td>
  17.                            <td></td>
  18. <td></td>
  19. <td></td>
  20. <td></td>
  21. <td></td>
  22.                          </tr>
  23.                        </table>

思路最後解決是因為看到藍色理想的一個貼子關於Table中TD寬度設定的問題:(網頁來源:http://bbs.blueidea.com/thread-2909153-1-2.html)

我給table定義了一個類,其中有width:100% 然後我給table中的一個td定義寬度width:30px
結果是td的寬度不受控制,但是如果將td寬度改為width:10%這樣效果就出來了,但是對於不同螢幕寬度,顯示還是會有問題,不知道是不是百分比和絕對寬度不能相容。有人說用table-layout:fixed,試過了,不行。請大家出點策略

table-layout:fixed 之後,在第一行就要把各td的寬度(絕對寬度和百分比都可以)定好。如果table寬度定為100%了,那麼要留一個td不設定寬度,讓它自由伸縮。

來自百度介紹:怎樣用CSS設定table第一列樣式

網頁來源:http://zhidao.baidu.com/question/83848919.html?fr=qrl&fr2=query

你編寫表格的時候可以這樣:
把第一列變成th ,這樣就可以方便的控制了。
例如:三行三列的表格可以這樣寫:

XML/HTML程式碼
  1. <table>
  2. <tbody>
  3. <tr>
  4. <th></th><td></td><td></td>
  5. </tr>
  6. <tr>
  7. <th></th><td></td><td></td>
  8. </tr>
  9. <tr>
  10. <th></th><td></td><td></td>
  11. </tr>
  12. </tbody>
  13. </table>
CSS程式碼
  1. th{  
  2. width:100px;  
  3. }  
  4. td{  
  5. width:200px;  
  6. }  

css設定一列td寬度

解決辦法:

1.插入表格。30行兩列,寬380px
2.滑鼠點在第一個單元格中(一行一列),在屬性面板中輸入寬度100
3.完成

解決辦法二:

CSS程式碼
  1. td.p10 {width:10%;}  
  2. td.p15 {width:15%;}  
  3. td.p20 {width:20%;}  
  4. td.p45 {width:45%;}   
XML/HTML程式碼
  1. <tdclass="p10">...</td>
  2. <tdclass="p10">...</td>
  3. <tdclass="p20">...</td>
  4. <tdclass="p15">...</td>
  5. <tdclass="p45">...</td>

上述的百分比,也可以換成px 。此處來源:http://zhidao.baidu.com/question/62832227.html

上面兩個例子中發現如果設定CSS,寬度還是不起作用,一定要看第一行是否設定了寬度。如果是自適應的話,且表格設定100%的話,最好拆成兩個表格處理。至於為什麼?長江VS長征也不清楚。