table中的tr的默認display:table-row,雖然可以修改為display:block但是就失去了tr特有的顯示效果,如(td自動對齊);
並且在tr中對起設定padding是有用的,可以增加內邊距,但是設定margin是沒有用的,tr的外間距依然是0;
解決方案:
css的兩個屬性:border-collapse:collapse / separate & border-spacing:10px 10px;
需要用border-collapse & border-spacing聯合控制tr的間距;
如:
123 | < table style = "border-collapse:separate; border-spacing:10px;" > < tr ></ tr > </ table >
|
table中設置tr行間距
CSS border-collapse 屬性設置表格的邊框是否被合並為一個單一的邊框
值 | 描述 |
separate | 默認值。邊框會被分開。不會忽略 border-spacing 和 empty-cells 屬性。 |
collapse | 如果可能,邊框會合並為一個單一的邊框。會忽略 border-spacing 和 empty-cells 屬性。 |
inherit | 規定應該從父元素繼承 border-collapse 屬性的值。 |
border-collapse屬性加上border-spacing屬性就可以設置tr行間距
1 <table style="border-collapse:separate; border-spacing:0px 10px;"> 2 <tr> 3 <td>那片笑聲躺我想起我的那些花兒</td> 4 </tr> 5 <tr> 6 <td>在我生命每個角落靜靜為我開着</td> 7 </tr> 8 </table>
關於html中table表格tr,td的高度和寬度
關於html中table表格tr,td的高度和寬度
做網頁的時候經常會遇到各種各樣的問題,經常遇到的一個就是會碰到表格寬度對不齊的問題。首先,來分析一下這三個標簽中height和width的區別:
1、table中的width和height設置及其作用:
table中設置的height其實是設置一個最小值,也就是當表格中的內容或者行高總值超過這個設置值時,會自動延長表格的height值,當表格中的內容或者行高沒有達到這個值時,會自動擴大到這個值。
table中設置的width值一般為表格寬度的最大值,不能改變,即使內部的內容寬度超過也不能改變。(這個內部內容如果是圖片的話是可以改變表格寬度的。)
2、tr標簽中width和height設置及其作用:
tr標簽里面的width設置不起任何作用,因為從第一點可以看出,表格的width是不能改變的,tr標簽當然就不起作用了。
所以在tr中只有討論height設置的可能了,tr中的height設置和幾個tr之間的設置有關。
當幾個tr都設置了height的具體數值時,各個tr的height按照設置的值的比例來分配總的height值,注意這里說的是總的height值。
當幾個tr都沒有設置height具體值時,平均分配總的height值。
當有的tr設置了具體的數值,有的沒有設置具體的數值為默認時,先保證各個tr的基本需要,剩下的再滿足設置了具體值的tr,之后再全部給沒有設置具體值的tr。
最后一種情況還要考慮總的寬度不夠tr總的設置值的情況,不夠的話要滿足tr的基本需要,這里會自動延長表格的height的。然后再考慮設置了height的tr,最后考慮沒有設置height的tr。
3、td標簽中width和height設置及其作用:
td標簽里面的width和height都是起作用的。先看td的width吧,某一個td的width是和所處的一列每個td的width都相關的,取其中最大的width作為這一列中每個td的width,一定要從全局把握某個td的width,不能從這一個的width設置就斷言它的寬度就是多少,這樣是不准確的。
當我們把每一列的寬度都弄清楚之后,事情就好辦了。這時候各個td之間的寬度分配按照第二條中各tr的height分配規律,
有一點不同的是全部是默認的情況下,各td的width不是平均分配,而是根據各自的實際內容按比例分配。
再看看td的height設置吧,各個td的height要看這個td所在的行的最大高度來確定這一行的每個td的height,然后各個行的高度情況和tr中的height分配原則是一樣的。
還有一點要注意,就是td的height和tr的height之間的關系。首先肯定是根據內容的需要,在這個基礎上,再根據設置的值來確定,哪個設置的值大就按照哪個,如果一個設置了值一個沒有設置值,那么按照設置值的算。
table合並單元格 colspan(跨列)和rowspan(跨行)
colspan
和rowspan
這兩個屬性用於創建特殊的表格。
<td colspan="value"><td rowspan="value">
colspan
是“column span(跨列)”的縮寫。colspan
屬性用在td標簽中,用來指定單元格橫向跨越的列數:
在瀏覽器中將顯示如下:
單元格1 | ||
單元格2 | 單元格3 | 單元格4 |
該例通過把colspan
設為“3”, 令所在單元格橫跨了三列。如果我們將colspan
設為“2”,則該單元格將只跨越兩列,於是有必要在第一行插入另外一個單元格,以確保兩行占據相同的列數。
該例在瀏覽器中將顯示如下:
單元格1 | 單元格2 | |
單元格3 | 單元格4 | 單元格5 |
rowspan
的作用是指定單元格縱向跨越的行數。
瀏覽器中將顯示如下:
單元格1 | 單元格2 |
單元格3 | |
單元格4 |
上例中的單元格1,其rowspan
被設為“3”,這表示該單元格必須跨越三行(本身一行,加上另外兩行)。因此,單元格1和單元格2在同一行,而單元格3和單元格4形成獨立的兩行。
綜合實例
ss | |||
<html>
<head>
</head>
<table border= "1 " width= "200 " >
<tr>
<td colspan="4" >ss
</td>
</tr>
<tr>
<td width= "25% "> </td>
<td width= "25% "> </td>
<td width= "25% "> </td>
<td width= "25% "> </td>
</tr>
<tr>
<td width= "25% "rowspan="2"> </td>
<td width= "25% "> </td>
<td width= "25% "> </td>
<td width= "25% "> </td>
</tr>
<tr>
<td width= "25% "> </td>
<td width= "25% " rowspan="3"> </td>
<td width= "25% "> </td>
</tr>
<tr>
<td width= "25% " colspan="2" > </td>
<td width= "25% "> </td>
</tr>
<tr>
<td width= "25% "> </td>
<td width= "25% "> </td>
<td width= "25% "> </td>
</tr>
</table>
</html>