網(wǎng)頁(yè)設(shè)計(jì)中的固定布局

網(wǎng)頁(yè)設(shè)計(jì)中,固定布局模型的速度之所以快,主要原因是布局不依賴于表單元格的內(nèi)容。其布局是根據(jù)該表以及表中列和單元格的width值決定的。

網(wǎng)頁(yè)設(shè)計(jì)時(shí)固定布局模型的工作包括以下簡(jiǎn)單步驟:

1、width屬性值不是auto的所有列元素會(huì)根據(jù)width值設(shè)置該列的寬度。

2、如果一個(gè)列的寬度為auto——不過(guò),表首行中位于該列的單元格width不是auto——?jiǎng)t根據(jù)該單元格寬度設(shè)置此列的寬度。如果這個(gè)單元格跨多列,則寬度在這些列上平均分配。

3、在以上兩步之后,如果列的寬度仍為auto,會(huì)自動(dòng)確定其大小,使其寬度盡可能相等。

此時(shí),表的寬度設(shè)置為表的width值或列寬度之和(取其中較大者)。如果表寬度大于其列寬總和,將二者之差除以列數(shù),再把得到的這個(gè)寬度增加到每一列上。

網(wǎng)頁(yè)設(shè)計(jì)時(shí),這種方法的速度很快,因?yàn)樗辛袑挾榷加杀淼牡谝恍卸x。首行后所有行中的單元格都根據(jù)首行所定義的列寬確定大小。后面這些行中的單元格不會(huì)改變列寬,這意味著為這些單元格指定的width值都會(huì)被忽略。如果一個(gè)單元格的內(nèi)容無(wú)法放下,該單元格的overflow值將決定單元格內(nèi)容是剪裁??梢娺€是生成一個(gè)滾動(dòng)條。

考慮以下樣式和標(biāo)記:

table{table-layout: fixed; width: 400px;

border-collapse: collapse;}

td {border: 1px solid;}

Col#c1 {width: 200px;}

#r1c2 {width: 75px;}

#r2c3 {width: 500px;}

<table>

<colgroup>

<col id="cl"><col id="c2"><col id="c3"><col id="c4">

</colgroup>

<tr>

<td id="rlcl">l-l</td><td id="r1c2">l-2</td>

<td id="rlc3">l-3</td><td id="rlc4">1-4</td>

</tr>

<tr>

<td id="r2cl">2-l</td><td id="r2c2">2-2</td>

<td id="r2c3">2-3</td><cd id="r2c4">2-4</td>

</tr>

<tr>

<td id=" r3c1">3-1</td><td id=" r3 e2">3-2</td>

<Cd id="r3c3">3-3</td><td id="r3c4">3-4</td>

</tr>

<tr>

<td id="r4cl">4-l</tdxtd id="r4c2">4-2</td>

<td id="r4c3">4-3</tdxtd id="r4c4">4-4</td>

</tr>

</table>

注意,在網(wǎng)頁(yè)設(shè)計(jì)時(shí),使用固定寬度布局模型時(shí),沒(méi)有必要非得為表指定一個(gè)顯式寬度,不過(guò)如果指定一個(gè)寬度確實(shí)有所幫助。例如,給定以下樣式,用戶代理可能計(jì)算出表的寬度比父元素的width窄50像素。它就會(huì)在固定布局算法中使用計(jì)算得到的這個(gè)寬度:

table{table-layput: fixed; margin: 0 25px;width: auto;}


網(wǎng)站建設(shè)、網(wǎng)絡(luò)營(yíng)銷咨詢專線:0871-63535511(點(diǎn)擊可一鍵撥號(hào))