2013-10-15 2 views
0

Мой простой div элемент, как показано ниже:Размещение изображения внутри DIV в HTML 5

<div class="avatar"> 
    <img src="http://quickshare.my3gb.com/download/testpic.jpg" /> 
</div> 

(Исходное изображение 216 * 216 пикселей) и мой CSS выглядит следующим образом,

.avatar { 
float: right; 
border: 1px #ccc solid; 
width: 70px; 
height: 80px; 
overflow: hidden; 
position: absolute; 
} 

И скрипка, http://jsfiddle.net/BMU4Y/2/

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

Любая помощь будет высоко оценена. [Я также попытался для Jquery образа-диска, но не смогли найти ничего, что на самом деле работает :(]

Пожалуйста, обратите внимание, что это для моего сайта HTML 5 строится с C# и MVC 4

ответ

3

переполнение не нужно здесь. и, чтобы сделать изображение соответствовать DIV, он должен иметь 100% Heigh и ширину.

.avatar { 
float: left; 
border: 1px #ccc solid; 
width: 70px; 
height: 80px; 
position: relative; 
} 
.avatar img { 
    width: 100%; 
    height: 100%; 
} 

http://jsfiddle.net/BMU4Y/3/

+1

Я не думаю, что 'height' свойство должно быть установлено, я предполагаю, что это авто по умолчанию, и если' width' установлен в '' 100% высоты должен на основе принятой ширины. +1 хотя – Cyclonecode

+0

Вы правы, нет необходимости устанавливать оба значения. – larssy1

+0

Почему плавание? Я не думаю, что это было целью TO ... – HimBromBeere

2

Просто добавьте. CSS файл

.avatar img{ 
    width:100%; 
height:100%; 
} 
1

Если я прав в понимании того, что вы хотите изображение, чтобы соответствовать в пределах вашего явно размера DIV, а затем добавить следующие строки в CSS сделают работу:

.avatar img { 
    height: 100%; 
    width: 100%; 
} 
1
.avatar 
    { 
     float: left; 
     border: 1px #ccc solid; 
     overflow: hidden; 
     width:60px; 
     height:60px; 
    } 

    .avatar img { 
     width:inherit; 
     height:inherit 
    } 
+0

о 'inherit'? Изображение автоматически изменяет размер до 60 * 60? –

+0

Если вы измените высоту аватара div на 100 и 100, размер изображения изменится до 100, так что да, изображение масштабируется с шириной и высотой div. –

+0

+1. Благодарю. Итак, я полагаю, как говорит другой плакат, и «width: inherit», и «width: 100%» выполняет ту же работу? –

2

Попробуйте это .. .

.avatar { 
float: left; 
border: 1px #ccc solid; 
width: 70px; 
height: 80px; 
overflow: hidden; 
position: relative; 
} 

.avatar img { 
max-width:100%; 
height:100%; 
} 
1
.avatar img { 
    width: 100%; 
    height: auto; 
    display: block; 
} 

Вам нужно изображение, чтобы быть в блоке дисплея и не встраивать, который по умолчанию. Затем дайте ему 100% ширину (от его родительской ширины), но для высоты, которую я установил в авто. Не 100%, потому что он растягивает его в обоих измерениях, как правило, со странными результатами.

+0

Спасибо за это. Но каково значение того, чтобы установить его на «block»? (Извините, если это глупый вопрос, я новичок и пытаюсь понять) –

+0

Элементы блока, могут иметь размеры, поля, paddings и т. Д. Это элементы для построения. Встроенные элементы предназначены для презентации в основном. Как и тексты и т. Д. Я предложил дисплей: блок, чтобы быть в безопасности, потому что я не знаю, что еще у вас есть в коде css до этого. Кроме того, делая метки img для отображения блоков, вы можете исправить некоторые досадные пробелы, такие как маржа снизу ваших изображений. – MentalRay

1

Наследовать ширину и высоту div до изображения. Добавьте ниже CSS и он будет работать как шарм.

Fiddle: http://jsfiddle.net/BMU4Y/8/

.avatar { 
float: left; 
border: 1px #ccc solid; 
width: 70px; 
height: 80px; 
overflow: hidden; 
position: relative; 
} 
div.avatar img 
{ 
    width:inherit; 
    height:inherit 
} 
Смежные вопросы