2011-09-12 10 views
14

Mam następujące CSS:CSS Jak rozciągnąć, aby dopasować i zachować proporcje?

.mod.left { 
background-image: url("http://www.myimage.jpg"); 
display: block; 
height: 160px; 
overflow: hidden; 
width: 175px; 
} 

Odpowiada to HTML:

<div class="mod left"></div> 

Skutkuje to tym bałaganie:

enter image description here

jeśli mogę użyć tle-CSS3 rozmiar: 175px 160px; Proporcje są bardzo pomieszane powodując bałagan tak:

enter image description here

Czy istnieje sposób, aby rozciągnąć obraz, aby dopasować div? Ale w pewnym sensie, w jakim proporcje są zachowane? Chcę automatycznego przycinania.

+0

Twój przykład działa na firefox 6.0.2. obraz jest przycięty z prawidłowym współczynnikiem. pokój –

Odpowiedz

30

To powinno działać (w przeglądarkach obsługujących background-size):

background-size: 175px auto; 

Można też spróbować:

background-size: cover; 

Lub:

background-size: contain; 

There's a good explanation on MDC.

+4

css3 jest piękny. –

5

Czy to musi być obraz tła?

img{ 
width:300px; 
height:auto; 
} 


<img src="your-photo.png"> 
1

Można użyć właściwości background-size z wartością contain:

background-size: contain; 

Oto przykład roboczych: https://jsfiddle.net/gusrodriguez/auuk97hf/1/

W powyższym przykładzie, ciało ma rozciągniętej obraz w tle. Istnieją również dwa elementy div o dowolnym rozmiarze, a także inny obraz, który pasuje i zachowuje proporcje.

Powiązane problemy