如overflow:hidden,意思是當(dāng)內(nèi)部元素寬度大于父框架時隱 " /> 亚洲精品三级,丁香花高清在线观看完整版,一区二区三区波多野结衣在线观看

色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

javascript 動態(tài)調(diào)整圖片尺寸實(shí)現(xiàn)代碼

我前段時間寫的一篇文章就遇到過這種事情,后來用CSS的overflow和max-width屬性暫時解決了頁面變形的問題。這種方法好處是簡單,但壞處是會破壞某些細(xì)節(jié)的效果。

如overflow:hidden,意思是當(dāng)內(nèi)部元素寬度大于父框架時隱藏超出寬度的部分。這樣做可能會是一些內(nèi)容突然截斷,被隱藏了,很對不起觀眾。

通過max-width屬性限制文章插圖最大寬度的話,需要考慮各瀏覽器的兼容性。IE6是不支持這個屬性的,在我印象中,一些瀏覽器雖然支持這個屬性,但圖片不是等比縮放的(好像是Safari和Opera,記不清了),這樣做的話對這些瀏覽器的用戶很不公平。

因此,我最終選擇的是通過JavaScript動態(tài)改變圖片尺寸。這種方法對各種瀏覽器兼容性良好(現(xiàn)在應(yīng)該很少人會禁用JavaScript吧?),如果換主題的話,也可以靈活地改變文章插圖的最大尺寸。

方案有兩個,由于我使用的主題是加載了jQuery庫的,因此可以用以下代碼實(shí)現(xiàn):
復(fù)制代碼 代碼如下:
$(document).ready(function() {
$('.post img').each(function() {
var maxWidth = 100; // 圖片最大寬度
var maxHeight = 100; // 圖片最大高度
var ratio = 0; // 縮放比例
var width = $(this).width(); // 圖片實(shí)際寬度
var height = $(this).height(); // 圖片實(shí)際高度
// 檢查圖片是否超寬
if(width > maxWidth){
ratio = maxWidth / width; // 計(jì)算縮放比例
$(this).css("width", maxWidth); // 設(shè)定實(shí)際顯示寬度
height = height * ratio; // 計(jì)算等比例縮放后的高度
$(this).css("height", height * ratio); // 設(shè)定等比例縮放后的高度
}
// 檢查圖片是否超高
if(height > maxHeight){
ratio = maxHeight / height; // 計(jì)算縮放比例
$(this).css("height", maxHeight); // 設(shè)定實(shí)際顯示高度
width = width * ratio; // 計(jì)算等比例縮放后的高度
$(this).css("width", width * ratio); // 設(shè)定等比例縮放后的高度
}
});
});

如果不想加載jQuery庫,可以用以下代碼:
復(fù)制代碼 代碼如下:
function ResizeImage(image, 插圖最大寬度, 插圖最大高度)
{
if (image.className == "Thumbnail")
{
w = image.width;
h = image.height;
if( w == 0 || h == 0 )
{
image.width = maxwidth;
image.height = maxheight;
}
else if (w > h)
{
if (w > maxwidth) image.width = maxwidth;
}
else
{
if (h > maxheight) image.height = maxheight;
}
image.className = "ScaledThumbnail";
}
}

采用純JavaScript的話,麻煩點(diǎn),需要手動為圖片加上class=”Thumbnail”,但最終效果是一樣的。

JavaScript技術(shù)javascript 動態(tài)調(diào)整圖片尺寸實(shí)現(xiàn)代碼,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 罗定市| 湖南省| 漯河市| 绥棱县| 比如县| 固原市| 新干县| 炎陵县| 博罗县| 普定县| 府谷县| 沙雅县| 芷江| 青岛市| 九江县| 赤峰市| 临武县| 葫芦岛市| 和田县| 成安县| 台南县| 齐河县| 南昌县| 潮安县| 贺州市| 桂阳县| 万安县| 彰化县| 新巴尔虎左旗| 砚山县| 贵定县| 砚山县| 安图县| 苏尼特右旗| 新巴尔虎左旗| 自贡市| 辽源市| 瓦房店市| 罗山县| 和静县| 永春县|