Jump to content
  • 0

Большая картинка в меньшем диве


hokil
 Share

Question

Доброго времени суток!

Не знаю как сделать лучше. Есть большая картинка размером 100*100px, и есть маленький div 50*50px. Как сделать чтобы картинка отображалась в нем полностью?

Привожу свой кривой код.

html:

<div id="wrap_button">

<a class="screen_button" href="#"></a>

</div>

css:

div#wrap_button { width: 50px; height: 50px; }

a.screen_button { display: block; background: url(images/button.png) no-repeat; height: 100%; width: 100%; }

P.S. <img /> вставлять не желательно, так как при наведении на ссылку должна меняться картинка.

Буду благодарен за помощь.

Link to comment
Share on other sites

12 answers to this question

Recommended Posts

  • 0

В css3 есть background-size...

Вашу проблему можно решить еще такими способами как JS (есть события onmouseover) ну или использовать старый добрый css 2.1 и просто пережать картинку фоновую под размеры дива...

Link to comment
Share on other sites

  • 0

div#wrap_button { width: 50px; height: 50px; }

a.screen_button { display: block; background: url(images/button.png) no-repeat; height: 200%; width: 200%; margin: -100% 0 0 -100%;}

Есть сомнения на счет работоспособности в ИЕ7.

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

просто пережать картинку фоновую под размеры дива...

Проблема в том, что размеры дива изменяются в зависимости от размера окна браузера...

Link to comment
Share on other sites

  • 0

Доброго времени суток!

Не знаю как сделать лучше. Есть большая картинка размером 100*100px, и есть маленький div 50*50px. Как сделать чтобы картинка отображалась в нем полностью?

Привожу свой кривой код.

html:

<div id="wrap_button">

<a class="screen_button" href="#"></a>

</div>

css:

div#wrap_button { width: 50px; height: 50px; }

a.screen_button { display: block; background: url(images/button.png) no-repeat; height: 100%; width: 100%; }

P.S. <img /> вставлять не желательно, так как при наведении на ссылку должна меняться картинка.

Буду благодарен за помощь.

А ты вставляй имгу в ссылку и меняй её при наведении.

Link to comment
Share on other sites

  • 0

Честно говоря затея весьма странная, неужели это так необходимо? Возможно просто сделать картинку которую можно будет повторять на всю длину дива?

Edited by stars
Link to comment
Share on other sites

  • 0

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

Т.е. размер картинки должен уменьшаться или увеличиваться в зависимости от размера дива?

Link to comment
Share on other sites

  • 0

P.S. <img /> вставлять не желательно, так как при наведении на ссылку должна меняться картинка.

Буду благодарен за помощь.

Кроссбраузерно никак.

А вообще есть background-size

но лучше уж подрезать картинку.

Или же картинку фоном в отдельный элемент.

Link to comment
Share on other sites

  • 0
А ты вставляй имгу в ссылку и меняй её при наведении.

Тоже об этом думал, но как-то не очень удобно получается.

Честно говоря затея весьма странная, неужели это так необходимо? Возможно просто сделать картинку которую можно будет повторять на всю длину дива?

Других вариантов я не вижу. Картинка представляет собой круг, так что растянуть не получается.

Т.е. размер картинки должен уменьшаться или увеличиваться в зависимости от размера дива?

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

Link to comment
Share on other sites

  • 0

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

Я говорю о размере физическом, т.е. самого файла. Я говорю о размере сторон у картинки. Т.е. о том, что будет видно в браузере.

Кроссбраузерно без <img> не сделаешь.

С <img> можно сделать так: http://jsfiddle.net/9VNKr/

Link to comment
Share on other sites

  • 0

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

Link to comment
Share on other sites

  • 0

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

http://jsfiddle.net/9VNKr/1/ :D

Только в сафари не работает...

Upd. А так вроде работает http://jsfiddle.net/9VNKr/2/

Edited by sigma77
Link to comment
Share on other sites

  • 0
Кроссбраузерно без <img> не сделаешь.

С <img> можно сделать так: http://jsfiddle.net/9VNKr/

Скорей всего так и сделаю, благодарю за помощь.

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

Примерно такой круг: http://s54.radikal.ru/i143/1106/3c/e95b48463204.jpg

Конечно же без Хауса. =)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy