您好,登錄后才能下訂單哦!
小編給大家分享一下怎么使用css讓大圖片不超過網頁寬度,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
讓大圖片不超過網頁寬度,讓圖片不撐破通過CSS樣式設置的DIV寬度!
接下來,我們來介紹下網站在開發DIV+CSS的時候會遇到一個問題,在發布一個大圖片的時候因為圖片過寬會撐破自己設置的div寬度的問題。
圖片撐破布局原因
1、由于瀏覽器版本低(微軟IE6)
2、沒有設置div布局的寬度
解決圖片超出寬度或撐破div css布局方法
1、在文章中發布圖片的時候將圖片編輯縮小
2、通過對對應div的css來設置顯示的圖片最寬寬度 推薦
3、通過css對圖片設定寬度。
通過css來解決圖片撐破div布局案例
通過css來控制代碼如下(cmcss是對應父級類名):
.cmcss {margin: auto;width: 600px;}
.cmcss img{max-width: 100% !important; height: auto!important; width:expression(this.width > 600 ? "600px" : this.width)!important;}這種圖片第一次加載時候圖片不能顯示
直接通過對對應的div內的內容圖片寬度設置代碼如下:
.cmcss img{ width:500px;} 寬度自定,但是不推薦此方法,因為設置后此div布局內的圖片將全部寬度為500px,那樣將造成圖片小的,被放大顯示模糊。
可以通過對圖片設置最寬css可以使用max-width來設置,但是IE6不支持,但是可以使用瀏覽器的css hack來設置代碼如下
.cmcss img{max-width:500px;_width:500px;}
說明:通過其他瀏覽器不支持帶“_”的css,但是IE6支持。剛好可以通過此css hack來實現對圖片寬度的現在。這里只能克服IE6顯示固定的寬度來符合其它版本的兼容性。
擴展與提高
我們看區別不同瀏覽器CSS HACK的代碼
區別FF,IE7,IE6:
background:orange;*background:green !important;*background:blue;
你可能要問了,為什么不用“*”來代替“_”來區別IE6瀏覽器,這里值得注意的是ie6和IE7都會解釋和識別“*”的,但是IE7對important的識別具有優先全,所以IE7在CSS代碼中有important將有優先識別并成為唯一性,所以在有important時候IE7和IE6前面都可以用“*”號,但是無論帶important在前或在后IE7將識別為唯一區別css hack。所以這里沒有important的時候需要用另外IE6的css hack中“_”小寫半角下劃線。
案例如下(Blue hills.jpg圖片為800像素寬的圖片)
代碼:
<!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>www.億速云.com案例-圖片不超過設置寬度</title> <style type="text/css"> .cmcss img{ max-width:150px;_width:150px;} <body> |
看完了這篇文章,相信你對“怎么使用css讓大圖片不超過網頁寬度”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。