2013-08-23 2 views
3

Это мой HTML-кодзаливка изображения не работает должным образом

<div class="feature-image"> 
    <a class="featured_image_link" href="#"> 
     <img src="1.jpg"> 
    </a>      
</div> 

Мой размер 1.jpg является 150px x 150px и я упомянул в CSS, как

.feature-image{ 
    width:150px; 
    height:150px; 
    display:block; 
    position:relative; 
    overflow:hidden; 
} 

.feature-image img{ 
    position:absolute; 
    top:-50; 
    left:0; 
    width:100%; 
} 

Я знаю, что когда я даю другой размер изображения (например: 300x200 или 600x350 и т. д.) изображение заполнит внутри, что 150x150 и не растягивается.

Но на самом деле его не работает должным образом. Пожалуйста, помогите, есть ли ошибка в этом коде?

+0

http://jsfiddle.net/49zhd/1/ Проверьте эту скрипту. N скажите нам, что именно не работает. – MarsOne

+0

Я видел в jsfiddle, что изображение заполняется в соответствии с размером изображения, а не размером 150 x 150. Вот в чем вопрос. Мне нужен любой размер, который должен заполнить этот размер 150x150. Есть ли решение? – user2644743

+0

Проверьте мое решение и проверьте полное объяснение – MarsOne

ответ

-1

Из кода, который вы вставили, он работает правильно. Можете ли вы ссылаться на сайт, где он жив и не работает? Проблема с кешем?

См jsfiddle: http://jsfiddle.net/FNQZn/

.feature-image { 
    width:150px; 
    height:150px; 
    display:block; 
    position:relative; 
    overflow:hidden; 
} 
.feature-image img { 
    position:absolute; 
    top:-50; 
    left:0; 
    width:100%; 
} 
+0

Как это решение.хорошо, что вы сделали скрипку, но это тот же самый код, который опубликовал OP. Как это квалифицируется как решение. Где находится «кеш» на картинке – MarsOne

+0

jsfiddle ссылка должна быть обработана кодом, поэтому все, что я сделал, это скопировать и вставить его рабочий код. Я говорю, что в его живой среде или на веб-сайте, над которым он работает, ему может понадобиться обновить свой кеш, поскольку он опубликовал работу отлично. – vzeke

+0

что это тогда -> верх: -50; ? его там в твоей скрипке. – MarsOne

2

Ok. Позвольте мне объяснить, как эта работа.

Прежде всего. У вашего CSS есть ошибка.

top:-50; 

Это не будет делать ничего. Это должно быть чем-то вроде

top:-50px; 

Но мой вопрос, почему вы хотите отрицательные поля? он только скроет ваше изображение на 50 пикселей в верхней части.

Хорошо, теперь подходит к настоящей проблеме. Вы говорите, что у вас нет проблем, когда ваше изображение 150X150 пикселей. То потому что родитель <div>150x150. Но если у вас другой размер изображения, например, 300x200, у вас есть проблема.

Это происходит потому, что в вашем CSS вы указали только width: 100% для изображения. Отсюда, на его простой математике.

Ширина = 300 & высота = 200 Поскольку вы упомянули width:100% изображение автоматически получает адаптировались к новой ширине

300(original width)/150(new width)=2 

So taking the same factor of 2 
200(original height)/2=100(new height) 

Таким образом, вы оказанные изображение будет иметь высоту 100px.

если вы хотите изображаемого образа, чтобы иметь такую ​​же высоту DIV просто добавьте эту строку в фотошопе CSS

height: 100%; 

Working fiddle

+0

Эй после установки высоты: 100%; Он отлично работает для меня. Спасибо. Это то, о чем я прошу. Еще раз спасибо. @marsone – user2644743

+0

@ user2644743, помните, что это увеличит изображение, если исходное изображение не является квадратом. ex, если изображение orignal составляет 400x400, тогда проблем не будет, но изображение размером 400 * 200 будет выглядеть забавно. Надеюсь, вы поймете – MarsOne

+0

Также, если мое решение сработало для вас, не забудьте отметить его как ответ. :) – MarsOne

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