2013-04-23 3 views
6

Я делаю изображение в своем div. Я хочу избежать растяжения своего образа.Избегайте растягивания изображения css

div { 
      height: 300px; 
      width: 300px; 
     } 
    img { 
      min-width: 300px; 
      min-height: 300px; 
      max-height: 300px; 
     } 

Моя проблема в том, что мое изображение фиксируется по ширине. Я хочу быть нормальной шириной, хотя некоторые изображения будут пропущены.

div { 
      height: 300px; 
      width: 300px; 
      overflow: hidden; 
     } 
    img { 
      height: 300px 
      max-width: none; 
      min-width: 300px; 
     } 

Я решил.

+0

Если вы хотите, чтобы изображение было автоматической шириной, не накладывайте на него никаких стилей. – Pavlo

+0

Каковы размеры изображения? – snumpy

+0

Вы устанавливаете 'min-width', в котором говорится, что минимальная ширина' 300px'. Вы имели в виду 'max-width'? –

ответ

2

Поместите изображение в качестве фона div, если вы хотите избежать растяжения самым простым способом (при этом сохраняйте исходную ширину).

+0

Я думаю, что это решит проблему. – Zincktest

0

Использование max-width вместо min-width и просто установить height в 300px (или только использовать max-height).

1

Вы можете использовать overflow:hidden, чтобы скрыть любую часть изображения за пределами ширины div.

div { 
     height: 300px; 
     width: 300px; 
     overflow: hidden; 
    } 
img { 
     /*min-width: 300px;*/ 
     height: 300px; 
    } 
8

Я бы забыл установить минимальную высоту и максимальную высоту. Просто установите высоту 300 пикселей и поместите переполнение, скрытое в теге div. Таким образом, независимо от размера изображения, он всегда будет оставаться в пропорции и никогда не выйдет за пределы вашего тега div.

div { height: 300px; width: 300px; overflow: hidden; } 
img { height: 300px; } 
Смежные вопросы