2017-02-03 8 views
1

У меня есть HTML и нет большого контроля над ним, но у меня есть полный контроль над CSS. Один тега является тег изображения:Изменение размера изображения в CSS

<img src="photo.jpg" alt="" /> 

Я хотел бы контролировать размер этого изображения таким образом, чтобы он соответствовал определенному размеру, как и 300px х 200px. Я хочу, чтобы сохранить пропорции, заполнить мою область, но отрезать любой избыток, как это было бы, если бы я, чтобы сделать фон «крышку»

Как это:

like this http://cdn.onextrapixel.com/wp-content/uploads/2012/02/cover-contain.jpg.

Есть ли какой-либо трюк CSS для этого? Или любой другой трюк?

ответ

0

Я думаю, что вы ищете свойство клипа.

img { 
    position: absolute; 
    clip: rect(0px,60px,200px,0px); 
} 

Источник: http://www.w3schools.com/cssref/pr_pos_clip.asp

+2

В следующий раз вы можете не разместить ссылку, но вы делаете это – MatejMecka

+1

Хотя ваш ответ 100% правильно, это также может стать 100% бесполезной если ссылка перемещается, изменяется, сливались в другой или основной сайт просто исчезает ... **: - (** Поэтому, пожалуйста, отредактируйте свой ответ и скопируйте соответствующие шаги из ссылки в свой ответ, тем самым гарантируя ваш ответ за 100% срока действия этого сайта! ** ; -) ** Вы всегда можете оставить ссылку в нижней части вашего ответа в качестве источника для вашего материала ... –

1

Вы можете использовать object-fit: cover и object-fit: contain для достижения этой цели.

.cover { 
 
    width: 200px; 
 
    height: 200px; 
 
    border: 1px solid red; 
 
    object-fit: cover; 
 
} 
 

 
.contain { 
 
    width: 200px; 
 
    height: 200px; 
 
    border: 1px solid red; 
 
    object-fit: contain; 
 
}
<img class="cover" src="http://placebear.com/300/200"> 
 

 
<img class="contain" src="http://placebear.com/300/200">

... до тех пор, пока вы не обеспокоены IE.