2008年5月28日 星期三

防止 DIV 層或表格被撐開的多種方法

在我們設計網頁的時候,總會遇到一些不愉快的事情,最常見的莫過於在後台新增內容後才發現顯示的頁面被撐開,導致網頁極度不美觀。以前大家基本上都是設計表格,網上自然不少對於的解決方法,如今還有DIV+CSS標準設計,很少看到相關好的方法,現在我們把平時找到的防止表格被撐開的好方法總結歸納一下,和大家一起分享。

一、直接在網頁裡設定圖片大小,比如程式碼:<img src="http://www.krjpg.cn/www.xxol.net.jpg" width="600" height="500" border="0">,這樣雖然可以限制了圖片大小,但是需要在上傳圖片之前手動修改圖片大小,否則上傳的圖片就會變形。

二、使用如下代碼:

<img src="http://www.krjpg.cn/www.xxol.net.jpg">

這種方法會在叫用圖片的時候,自動按比例縮小到指定的寬度,不會引起圖片的變形,並且也不會撐破表格,但是缺點是,如果圖片太大,在圖片下載過程中,也就是圖片顯示過程中,會先以圖片原大小顯示,這時就會撐破表格,頁面很難看,二當圖片完全顯示後,圖片又會自動縮小。

三、我們可以針對表格的屬性來限制大小防止被撐開,比如在<table width="600" border="0" cellpadding="0" cellspacing="0">裡新增程式碼「style="table-layout:fixed;word-wrap:break-word;word-break;break-all;"」,其中「table-layout:fixed;」是為了將表格佈局固定住,就可以有效地防止表格被撐開,「word-wrap:break-word;」是控制換行的,也就是強制執行換行,這個在文字內容較多的情況下需要使用到,特別是重複的內容出現,不執行換行的話,表格就被撐開了;而「word-break: break-all;」可以解決IE的框架被英文(非亞洲語言文字行)撐開的問題,但是不會強制換行,只顯示表格寬度裡的內容。一般情況下只要用到「style="table-layout:fixed;word-wrap:break-word;"」就可以。

當然,上面叫用的語法可以定義在CSS裡,比如:

table {
table-layout: fixed;
word-wrap:break-word;
}


四、用CSS控制圖片自適應大小,程式碼如:

img {
max-width: 600px;
width:expression(this.width > 600 ? "600px" : this.width);
overflow:hidden;
}


如果是DIV層,請用:

div {
table-layout: fixed;
word-wrap: break-word;
width: 加上寬度;
overflow: hidden; (讓多出來的不顯示。)
}


轉載自:http://bbs.flash2u.com.tw/dispbbs_85_83712.html

0 意見: