程序員在做網(wǎng)頁的時候,經(jīng)常會碰到表格寬度對不齊的問題。詳細地看了html中表格標簽table的高度和寬度設置的細節(jié),現(xiàn)總結(jié)如下:
1、table中的width和height設置及其作用:table中設置的height其實是設置個最小值,也就是當表格中的內(nèi)容或者行高總值超過這個設置值時,會自動延長表格的height值,當表格中的內(nèi)容或者行高沒有達到這個值時,會自動擴大到這個值。table中設置的width值一般為表格寬度的最大值,不能改變,即使內(nèi)部的內(nèi)容寬度超過也不能改變。(這個內(nèi)部內(nèi)容如果是圖片的話是可以改變表格寬度的。)
2、tr標簽中width和height設置及其作用:tr標簽里面的width設置不起任何作用,因為從第一點可以看出,表格的width是不能改變的,tr標簽當然就不起作用了。所以在tr中只有討論height設置的可能了,tr中的height設置和幾個tr之間的設置有關。當幾個tr都設置了height的具體數(shù)值時,各個tr的height按照設置的值的比例來分配總的height值,注意這里說的是總的height值。當幾個tr都沒有設置height具體值時,平均分配總的height值。當有的tr設置了具體的數(shù)值,有的沒有設置具體的數(shù)值為默認時,先保證各個tr的基本需要,剩下的再滿足設置了具體值的tr,之后再全部給沒有設置具體值的tr。最后一種情況還要考慮總的寬度不夠tr總的設置值的情況,不夠的話要滿足tr的基本需要,這里會自動延長表格的height的。然后再考慮設置了heightr的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分配規(guī)律,有一點不同的是全部是默認的情況下,各td的width不是平均分配,而是根據(jù)各自的實際內(nèi)容按比例分配。再看看td的height設置吧,這個相對簡單一點了,不過各個td的height要看這個td所在的行的最大高度來確定這一行的每個td的height,然后各個行的高度情況和tr中的height分配原則是一樣的。還有一點要注意,就是td的height和tr的height之間的關系。首先肯定是根據(jù)內(nèi)容的需 要,在這個基礎上,再根據(jù)設置的值來確定,哪個設置的值大就按照哪個,如果一個設置了值一個沒有設置值,那么按照設置值的算。
1,使用傳統(tǒng)的方法
<table width="400"> <tr> <td width="100"></td> <td width="100"></td> <td width="100"></td> <td width="100"></td> </tr> <table>
2,使用css
<style> .td{width:100px;} </style> <table width="400"> <tr> <td class="td"></td> <td class="td"></td> <td class="td"></td> <td class="td"></td> </tr> <table>
以上兩種方法可能出現(xiàn)的問題就是,如果內(nèi)容超過設定,如圖片寬度大于100,會自然撐開,自動調(diào)節(jié)表格寬度
3,用css進行對齊
<style> .td{width:100px;overflow:hidden} </style> <table width="400"> <tr> <td class="td"></td> <td class="td"></td> <td class="td"></td> <td class="td"></td> </tr> <table>
用這種方法,可以把超過的部分隱藏掉,如果需要嚴格控制的話,可以采用這種方法,如果把overflow的屬性值設置成scroll或者auto的話,可以采用這種方法,如果把overflow的屬性值設置成scroll或者auto的話,可以在超過的時候使用滾動條調(diào)節(jié)。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com