2013-08-30 4 views
0

У меня есть список предметов, которые мне нужно «обрезать» (я понимаю, что использование чистого CSS, которое на самом деле не обрезает, просто показывает вам часть изображения), пока у меня есть это как ...«Обрезать» фотографию с помощью CSS

Это: My JSFiddle example.

в основном я почти там, мне просто нужно центрировать изображение в обрезанной зоне так его показ в основном верхнюю среднюю секции.

.cocktailThumb img{ 
border-width:0px; 
width:300px; 
height:350px; 
position:relative;  /Tried adding this 
right: 40px; /Tried adding this 
} 

.cocktailThumb { 
border-width:0px; 
width:220px; 
height:150px; 
padding-left:20px; 
overflow:hidden; 
} 

Разделы, которые я добавил и попытались изменить, заставили изображение войти в центр. Но переполнение все равно оставалось слева, тогда как мне нужно было оставаться внутри div.

Любая помощь, которую я мог бы получить, была бы потрясающей, я довольно новичок в программировании, но наслаждаюсь каждым ее шагом.

Еще раз спасибо!
Pat

Редактировать: Найдены ответы были в пределах свойства клипа. Благодаря BrbCoding

+0

Что о 'crop' Css собственности? – Markasoftware

+0

Я не думаю, что он нуждается в специальном обрезке, поэтому, возможно, нет необходимости использовать css 'crop' – Itay

+0

Использовать свойство css' crop' –

ответ

5

Что делать, если вы просто использовали background-image с некоторым фоном позиционирования?

HTML

<div id="crop"></div> 

CSS

#crop { 
    position: relative; 
    width: 150px; 
    height: 150px; 
    display: block; 
    background-image: url(http://placekitten.com/300/300); 
    background-position: 50% 50%; 
} 

DEMO

EDIT: Или, вы можете даже использовать clip собственность ...

.cropped { 
    position: absolute; 
    clip: rect(75px, 250px, 250px, 75px); 
} 

И вот демо - щелкните изображение, чтобы обрезать его.

DEMO

+0

+1 для клипа. Я вижу, что вы изменили 'rect()', прежде чем один из 250px был 25px, что, как ни странно, работало в Firefox. Он сделал то, что я ожидал в Chrome (полностью обрезал изображение). –

+0

ха, это странно ... Да, я изменил размеры, потому что думал, что это выглядит немного странно. любопытная забавная проблема. – brbcoding

+0

Что делает «клип» работать, из интереса? –

3

установить max-width: 100%; в IMG

http://jsfiddle.net/V4YEx/3/

+0

, это увеличение, а не растение? –

+0

Это урожай, он обрывается с нижней части – koningdavid

+0

ОК, это четверть урожая, но это не помогает, если он хочет, чтобы какая-либо из сторон сняла –

2

Отрицательные поля на a.darken:

margin-left: -50px; 
margin-top: -50px; 
height: 200px; 

http://jsfiddle.net/V4YEx/7/

+0

, лучше сделайте это на обложке, или вы получите 50px пробелы сверху и снизу во время состояния ': hover'. – brbcoding

+0

не понимал, что было состояние опрокидывания ^^ –

+0

@Chimoo Я забыл упомянуть о состоянии опрокидывания, но спасибо за ответ. Это помогло мне получить еще лучшее понимание вещей. –

0

Если добавить к position: relative .cocktailThumb, а затем добавить position: absolute к изображению вы можете перемещать его по желанию внутри контейнера. Например, если вы хотите, чтобы все было направо, вы можете просто сделать right: 0 на изображении. Отсюда вы можете изменить правильное свойство на все, что вам нужно, чтобы сосредоточить его.

Fiddle: http://jsfiddle.net/V4YEx/1/

1

Используйте CSS спрайтов.

background:url(http://www.girlsgetaway.com/wp-content/uploads/2011/07/drinks_300x350.jpg) -50px -15px; 
<img src="" />  

http://jsfiddle.net/V4YEx/6/

+1

Использование фонового изображения - хорошая идея. Однако на самом деле это не спрайт. Спрайты содержат несколько графических изображений в одном файле изображения, которые могут отображаться независимо, показывая определенные части изображения. http://css-tricks.com/css-sprites/ – showdev

+0

О, ладно, получилось, поэтому спрайты используют фон, но не то же самое. Спасибо, сэр, я узнаю об этом – user2733921

Смежные вопросы