關於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之間的關系。首先肯定是根據內容的需要,在這個基礎上,再根據設置的值來確定,哪個設置的值大就按照哪個,如果一個設置了值一個沒有設置值,那么按照設置值的算。