如果瀏覽器窗口收縮,那麼我希望div和它內部的圖像也縮小。但它必須保持在中間並始終保持相同的比例。這可能嗎?我一直在努力,但沒有運氣。我願意在必要時使用jQuery或JS。如何擴大div到瀏覽器的高度或寬度,同時保持它的比例? [圖內]
1
A
回答
3
你可以使用這樣的事情(使用jQuery):
<script language="jscript">
$(function(){
ratio=$('#centerdiv').width()/$('#centerdiv').height();
rePos=function(){
if($('#container').innerHeight()*ratio>$('#container').innerWidth()){
$('#centerdiv').width($('#container').innerWidth());
$('#centerdiv').height($('#centerdiv').width()/ratio);
$('#centerdiv').offset({left:0,top:($('#container').innerHeight()-$('#centerdiv').outerHeight(true))/2});
}
else{
$('#centerdiv').height($('#container').innerHeight());
$('#centerdiv').width($('#centerdiv').height()*ratio);
$('#centerdiv').offset({left:($('#container').innerWidth()-$('#centerdiv').outerWidth(true))/2,top:0});
}
};
$(window).resize(rePos);
rePos();
});
</script>
<div id="container" style="position:absolute;top:0;bottom:0;left:0;right:0">
<div id="centerdiv" style="position:absolute;width:150px;height:100px;background-color:red;padding:0;border:0;margin:0"></div>
0
一般的想法會是這樣的
HTML頭:
<meta name="viewport" content="width=device-width">
和身體:
<div class="container">
<img src="whatever.jpg"/>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
</div>
和CSS:
.container {
width: 90%;
max-width: 480px;
background: #900;
margin: 1em auto;
}
.container img {
display: block;
width: 100%;
margin: 1em auto;
}
基本上,div容器佔據了90%的可用寬度的,最多的480像素,並且在容器內的IMG佔用所有可用的空間給它,因此調整大小。顯然,所有的細節都是任意的,完全取決於你的特定設計。我設置了一個fiddle,您可以在其中看到它的實際操作。
編輯:忘記了視口元標記,它保留了移動設備上的東西。
+0
感謝。在水平調整大小時適用,但在瀏覽器垂直調整大小時不起作用。有沒有辦法可以垂直完成呢? – Supertod
相關問題
- 1. CSS:100%寬度或高度,同時保持寬高比?
- 2. 如何保持圖像寬高比在寬度div內?
- 3. 使用瀏覽器寬度自動調整圖像大小,但在div內保持相同的高度?
- 4. 當div調整大小時的比例高度到寬度
- 5. 保持div的寬高比,並應用最大高度和最大寬度
- 6. 瀏覽器大小(寬度和高度)
- 7. 響應式Div高度可以擴展瀏覽器的寬度
- 8. 全寬,有限高度的圖像,同時保持長寬比
- 9. 瀏覽器寬度的100%寬度div
- 10. Div高度同時最低瀏覽器高度和內部內容高度
- 11. 瀏覽器窗口高度和寬度的大小div
- 12. 使視頻寬高比保持最大100%寬度和高度
- 13. 保持內聯塊,直到瀏覽器寬度達到一定的寬度?
- 14. imagecopyresampled調整至最大寬度或高度,但保持比
- 15. 響應 - 在保持高度的同時調整DIV寬度
- 16. IE瀏覽器有不同的高度/寬度爲div比火狐
- 17. 在IE瀏覽器的寬度與IE瀏覽器不同的寬度div
- 18. div height:100%,直到內容比瀏覽器高度高?
- 19. 將ImageView縮放到父母高度,同時保持寬高比
- 20. 如何讓我的標題圖像填充寬度,同時保持相同的高度和寬高比?
- 21. 居中最大寬度和高度的div啓用並保持長寬比
- 22. 保持瀏覽器窗口大小的高寬比?
- 23. 100%寬度圖像,與最小高度保持比例
- 24. 調整上傳寬度並保持高度比例成正比
- 25. 包含內部響應DIV的比例圖像比例(寬度和高度)
- 26. 邊緣瀏覽器:小孩div比父母指定的寬度寬度更大
- 27. 保持固定高度的高寬比
- 28. 保持比例寬度和高度的元素
- 29. 谷歌瀏覽器中的最大寬度與最大高度
- 30. 響應divs保持相等的寬度x高度比例?
你爲什麼要做$(window).resize(function(){resPos();});而不是$(windows).resize(resPos); ? – zehelvion
$(windows).resize(resPos);更好。 – aalmeida
這絕對是完美的,謝謝! – Supertod