DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> CSS入門知識 >> CSS詳解 >> css javascript圖片自動同比例縮小
css javascript圖片自動同比例縮小
編輯:CSS詳解     
圖片自動等比例縮小,其實假如不考慮IE6的話,用CSS就可以實現,設定img的max-width和max-height,而<img>標簽內不設定widht和height即可。 

  ie7已經支持max-width和max-height,這是為數不多的好消息之一。 但是對於IE6及以前的版本,就只能用JS來設置了。 

  在 ff 2.0/ ie6 / IE7 中測試通過。 opera 8.5 cn 垂直居中未通過,正在研究[貌似Opera下假如只有圖片行高會失效……]。希望大家來測試。

示例代碼 [www.mb5u.com] <!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> 
<meta http-equiv="Content-Type" content="text/Html; charset=gb2312" /> 
<title>圖片自動等比例縮小且垂直居中</title> 
<!--[if lte IE 6]> 
<script type="text/Javascript" language="Javascript"> 
function imgFix() { 
//定義要限制的圖片寬高,這個寬高要同style裡面定義的相同,小於限定高寬的圖片不操作 
var widthRestriction = 200; 
var heightRestriction = 200; 
var allElements = document.getElementsByTagName('*') 
for (var i = 0; i < allElements.length; i ) 

if (allElements[i].className.indexOf('imgBox') >= 0) 

var imgElements = allElements[i].getElementsByTagName('img'); 
for (var j=0; j < imgElements.length; j ) 

if ( imgElements[j].width > widthRestriction || imgElements[j].height > heightRestriction ) 

if ( imgElements[j].width > imgElements[j].height) 

imgElements[j].height = imgElements[j].height*(widthRestriction/imgElements[j].width); 
imgElements[j].width = widthRestriction; 
} else 

imgElements[j].width = imgElements[j].width*(heightRestriction/imgElements[j].height); 
imgElements[j].height = heightRestriction; 


if ( imgElements[j].height < heightRestriction ) 

imgElements[j].style.paddingTop = ( heightRestriction -imgElements[j].height ) /2 "px"; 

} /*for j*/ 

}/*for i*/ 

window.onload = imgFix; 
</script> 
<![endif]--> 
<style type="text/CSS"> 
<!-- 
* { 
margin:0; 
padding:0; 

.imgBox li { 
list-style:none; 
width:200px; /* 寬度 */ 
height:200px; /* 高度 */ 
background:#ccc; 
border:1px solid #666; 
text-align:center; 
margin:5px; 
line-height:200px; 

.imgBox img { 
max-width:200px; /* 寬度 */ 
max-height:200px; /* 高度 */ 
vertical-align:middle; 

--> 
</style> 
</head> 

<body> 
<ul class="imgBox"> 
<li><img src="......" alt="img" /></li> 
<li><img src="......" alt="img" /></li> 
<li><img src="......" alt="img" /></li> 
<li><img src="......" alt="img" /></li> 
</ul> 
</body> 
</Html>
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved