我想有一個圖像的高度為725或寬度為500,并保持其縱橫比。當我的圖片高度超過72 5而寬度小于500時,它們會被拉伸以適應500的寬度。
做這件事的最好方法是什么?
以下是我現在正在做的事情:
<asp:Image Height="725" width="500" ID="img_DocPreview" />
更新: 把它改成這樣,但還是有同樣的問題。如果我只指定高度,它將保持縱橫比,但它超過了我想要的500像素的最大寬度。
<img style="height:725px;width:500px;" id="img_DocPreview" src="Images/empty.jpg" />
你可以試試這個
img{
max-height:500px;
max-width:500px;
height:auto;
width:auto;
}
這保持了圖像的長寬比,并防止兩個尺寸超過500像素
已編輯,添加了對ie6的支持:
嘗試
<img style="height:725px;max-width:500px;width: expression(this.width > 500 ? 500: true);" id="img_DocPreview" src="Images/empty.jpg" />
這應該將高度設置為725像素,但防止寬度超過500像素。寬度表達式在ie6附近工作,被其他瀏覽器忽略。
如果您只指定高度或寬度,而不是兩者都指定,大多數瀏覽器將支持縱橫比。
因為您使用的是ASP.NET服務器控件,所以可以考慮在呈現之前在服務器端執行邏輯,以決定要指定哪個(高度或寬度)屬性;也就是說,如果你在一種條件下想要一個固定的高度,或者在另一種條件下想要一個固定的寬度。
設定圖像的樣式
<asp:Image ID="Image1" runat="server" style="max-height:1000px;max-width:900px;height:auto;width:auto;" />
你可以使用一些CSS和kbrimington的想法,它應該做到這一點。
CSS可能是這樣的。
img {
width: 75px;
height: auto;
}
我從這里得到它:另一個職位