2016-04-23 67 views
0

我有3個圖像以及如何縮放此圖像比縮小瀏覽器的大小。如何使圖像變小使我的瀏覽器更小? 我嘗試這一點,但它不工作:如何用css縮放圖像

HTML

<div class="main"> 
     <div class="submain"> 
     <div class="iner"> 
      <img src="img/sample1.png" alt="" /> 
     </div> 
     <div class="iner1"> 
      <img src="img/sample2.png" alt="" /> 
     </div> 
     <div class="iner2"> 
      <img src="img/sample3.png" alt="" /> 
     </div> 
     </div> 
    </div> 

CSS

.main{ 
    position:relative; 
    height: 500px; 
    width: 1000px; 
    background-color: #111210; 
} 


.iner img{ 
    position: absolute; 
    width: 600px; 
    height: 350px; 
    background-color: #34cb2f; 
    bottom: 0; 

    left:50%; 
    z-index: 5; 
    transform: translateX(-50%); -webkit-transform: translateX(-50%); 
} 

.iner1 img{ 
    position: absolute; 
    width: 600px; 
    height: 270px; 
    background-color: #34cb2f; 
    bottom: 0; 

    right: 5%; 
    transform: translateX(-50%); -webkit-transform: translateX(-50%); 
} 

.iner2 img{ 
    position: absolute; 
    width: 600px; 
    height: 270px; 
    background-color: #34cb2f; 
    bottom: 0; 

    left: 65%; 
    transform: translateX(-50%); -webkit-transform: translateX(-50%); 
} 

.submain{ 
    width: 800px; 
    height: 200px; 
    background-color: rgba(38, 118, 212, 0.51); 
} 

這是大規模圖像時,最小寬度小於400像素:

@media screen and (min-width: 400px) { 
    .submain{ 
    width: 75%; 
    } 
} 

但是這個媒體規則不起作用,也許我做錯了什麼,請幫我理解。謝謝!

+0

'分鐘-width'裝置的最小寬度,該查詢生效,即超過一定寬度。對於小於400像素,您需要'最大寬度',該值在最大寬度值以下生效。 –

回答

0

媒體查詢應該可以工作(I ghess),但由於img s具有固定寬度,它們只是溢出。

您應該使用imgs的百分比寬度。請記住,如果您將高度設置爲寬度,則其他尺寸將按比例縮放。

+0

不,它不工作,也許是因爲我使用'position'?這可能是原因嗎? – Nevada

+0

.submain應該有位置:相對以絕對的小孩來定位它。 – Gabriel

+0

謝謝您的幫助! – Nevada

0

如果您想在寬度小於400像素,那麼你需要改變@media屏幕和縮放圖像(最小寬度:400像素),以@media屏幕(最大寬度:399px)

提示:一種讓圖像縮放的方法是設置img max-width:100%。然後,如果在瀏覽器寬度調整大小時圍繞圖像的div變小或變大,圖像將隨之縮放。

這裏是一個類似的職位,可以幫助您: Make an image responsive - simplest way

+0

他也可以在vw中指定寬度而不是px – Rasik

+0

HTML格式的所有圖像放置在div塊中,但是我應用這個塊的媒體規則,它不起作用 – Nevada

0

「正確」的解決方案在很大程度上取決於你的網站的背景下。你可以採取幾種方法來實現它。

一個會,只是給你的圖像相對尺寸(%,em,or one of the new units像rem,vh,...)。這會根據周圍元素的大小(以及瀏覽器)自動縮放它們。另外,除非您的佈局真的需要它,否則我通常只定義一個維度(寬度或高度)。這樣瀏覽器會自動處理保存圖像的高寬比。

0

將您的圖像應用於div類作爲background並使用background-size來相應地縮放。

0

vh無論放置在圖像本身還是放置在包含元素上,都會根據視口的高度來縮放圖像。

儘管如此,它的寬度也不會一樣。你的形象將會相對較好,但它會與生態位爭鬥,雖然我確實承認它們非常罕見。

%將根據容器的相對百分比來縮放圖像,無論這是您的頁面的主體還是相應的div - 在您的情況下,即.iner。與此相關的問題是,那麼.iner.submain繼承的百分比和.submain.main的百分比相同。育兒和百分比永遠不會是最大的一對。

enter image description here (藍是%,黑色是vh