2010-03-14 22 views

回答

11

刚刚离开宽度和高度属性(和样式)应该做。如果你以后需要知道它,你可以从计算出的CSS中获取它。

+2

+1您可以另外使用'max-width'和'max-height'来防止太大的图像破坏布局。 – 2010-03-14 20:40:06

+0

不会忽略宽度和高度影响xhtml验证? – understack 2010-03-14 21:07:20

+2

@understack,不,忽略'alt'标记会产生一个警告,但规范不需要'height'和'width'。虽然它们对浏览器提前知道有用,但要根据正确的尺寸绘制页面,而不必先等待图像加载(并可能触发重新绘制)。 – 2010-03-14 21:22:50

1

难道你没有宽度和高度尺寸吗?据我所见,如果你没有定义宽度和高度,浏览器会显示整个全尺寸的图像。大多数现代浏览器是。

1

假设您关心alt,height和width属性(您应该),从javascript数组中读取图像属性可能非常适合您。以下是jQuery插入随机图像的示例,您可以将随机图像逻辑交换为任何类型的幻灯片等,以便进行渲染。

$(document).ready(function() { 

    var imageArray = new Array(); 
    imageArray[0] = new Array ("jungle.jpg", "http://rmportal.net", "Jungle", "400", "300"); 
    imageArray[1] = new Array ("mountain.jpg", "http://rmportal.net", "Mountain" , "350", "290"); 
    imageArray[2] = new Array ("ocean.jpg", "http://rmportal.net", "Ocean" , "442", "530"); 

    var max = imageArray.length; 
    var num = Math.floor((Math.random() * max)); 

    var hstring = "<a href='" + imageArray[num][1] + "'><img src='" + imageArray[num][0] + "' alt='" + imageArray[num][2] + "' height='" imageArray[num][3] + "' width='" + imageArray[num][4] + "' /></a>" 

    $('#my-image').html(hstring); 

}); 
1

如果您更愿意保持widthheight属性在你的HTML,然后在PHP要在GD库getimagesize方法。

0

如果页面加载的图像的宽度和高度作为源中的属性包含在内, 在您第一次更改源时使用removeAttribute('width')'height'

如果你不希望页面“崩溃”做一个缓慢的下载过程中,预载图片并更改SRC img.complete是真实的,这是马上,如果它被缓存,或图像的onload火灾后。