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

來源:互聯網
上載者:User
css防止表格被撐開或div層被撐開的多種方法

 

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

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

二、使用如下代碼:<img src="/u/info_img/2008-01/15/www.xxol.net.jpg"
onload="">

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

三、我們可以針對錶格的屬性來限制大小防止被撐開,比如在<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;
}


中 max-width:600px;
在IE7、FireFox等其他非IE瀏覽器下最大寬度為600px,但在IE6中無效;width:600px;
在所有瀏覽器中圖片的大小為600px,當圖片大小大於600px,自動縮小為600px,在IE6中有效;而 overflow:hidden;
指將超出設定大小的部分隱藏,避免控製圖片大小失敗而引起的表格撐開變形。

五、最後總結一下最實用的代碼:
假如是表格,請用:

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

假如是div層,請用:

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

 

例子:

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<style>
div {
    border:1px #15B solid;
    table-layout: fixed;
    word-wrap: break-word;
    width: 500px;
    overflow: hidden;
}
img {
    max-width:500px;
    width:expression(this.width > 500 ? "500px" : this.width);
    overflow:hidden;
}
</style>
</head>
<body>
<div>
<img src="dc.jpg"/>
<img src="iphone.jpg"/>
</div>
</body>
</html>

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.