Гибкое изображение внутри абсолютного деления

0

Как я могу сделать масштаб изображения внутри позиции абсолютного div. Изображение также является абсолютным изображением.

Здесь код:

HTML

<div id="home" class="panel">
    <div class="content">
        <p> Welcome! </p>
        <div id="plan" class="home-design">
            <p class="bottom-plan">Learning About the requirements</p>
            <img class="top-plan" src="plan.png" 
                                   style="max-width:100%; height:auto;" />
        </div>
    </div>
</div>

CSS

html,body {
    height:100%;
}

body {
    width:100%;
    color:#000;
    text-align:center;
}

.panel {
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    margin:auto;
    width:600px;
    height:100%;
    border:1px solid #ddd;
}

.content {
    width:600px;
    top:0;
    position:absolute;
    margin:auto;
    height:100%;
}

.home-design {
    width:225px;
    height:200px;
    text-align:center;
    padding-left:64px;
    float:left;
}

.home-design p {
    font-weight:bold;
    margin-top:80px;
    font-size:10px;
}

#plan .top-plan {
    position:absolute;
    left:65px;
    top:30px;
    border:1px solid #ddd;
    -webkit-transition:all 1s ease-in-out;
    -moz-transition:all 1s ease-in-out;
    -o-transition:all 1s ease-in-out;
    transition:all 1s ease-in-out;
}

#plan img.top-plan:hover {
    opacity:0;
    padding-top:50px;
}

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

Вот изображение. Изображение 174551

Здесь jsfiddle http://jsfiddle.net/endl3ss/guKS4/1/

РЕДАКТИРОВАТЬ

При изменении размера окна или небольшого разрешения монитора. образ плана также должен изменяться.

  • 0
    каково ваше требование? изображение должно заполнить весь div?
  • 0
    Похоже, вы используете position: absolute там, где это действительно не нужно, и это может помешать реализации вашего дизайна. Вы хотите, чтобы изображение (plan.png) масштабировалось, но вы не сказали, в отношении какого контейнера, первоначально (до наведения) и после (при наведении).
Показать ещё 2 комментария
Теги:

1 ответ

0

Трудно точно узнать, что вам нужно, поэтому в зависимости от того, что вы действительно хотите, вы можете проверить функцию scale() transform-function:

#plan img.top-plan:hover {
    opacity: 0;
    -webkit-transform: scale(2);
    -moz-transform: scale(2);
    transform: scale(2);
}

http://jsfiddle.net/guKS4/2/

В качестве альтернативы, если вы хотите переместить его, просто анимируйте top значение или функцию margin-top или даже функцию преобразования translateY().


РЕДАКТИРОВАТЬ

Я понимаю из вашего комментария, что тип масштабирования, о котором вы говорили, не будет разрешен функцией scale(). Чтобы шкалы содержимого масштабировались до ширины окна, вам необходимо удалить статические ширины (например, width: 600px от содержащихся ящиков)

Посмотрите http://jsfiddle.net/guKS4/4, где я удалил ширину (и некоторые другие нерелевантные css). Это позволит использовать max-width изображения, а не переполнять область просмотра.

  • 0
    Извините, я не за этим. Дело в том, что когда окно изменяет размер, изображение плана также должно изменяться. Вот почему я добавил max-width: 100% к изображению.
  • 0
    @Defyleiti Ну, CSS завален статической шириной, если вы не измените на проценты (или удалите их), содержимое не будет растягиваться до размера окна. Проверьте jsfiddle.net/guKS4/4, где я убрал ширину (и некоторые другие не относящиеся к делу CSS)
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню