Да, это возможно .
По сути, я просто сделал фоновое изображение фоном для <body>
(конечно, не должно быть телом), а затем вставилизображение внутри него с небольшим полем.
<body>
<img id='fg' src='http://3.bp.blogspot.com/-OYlUbWqyqog/TeL-gXGx3MI/AAAAAAAAHRc/bdqvvvaeC7c/s1600/bald-eagle3.jpg'></img>
</body>
css:
body {
margin: 0; padding: 0;
overflow: hidden;
background: url('http://wallpaper.zoda.ru/bd/2006/07/21/2c7b4306fd22f049f331d43adb74a5f7.jpg') no-repeat left top;
}
#fg {
margin: 20px 20px;
opacity: 0.7;
}
очевидно, если окно слишком большое, возникнут проблемы.Вы можете (я полагаю) использовать медиазапросы, чтобы получать изображения разных размеров в зависимости от размера окна.
edit - Хорошо, хорошо для изображения, если вы делаете Если вы хотите, чтобы оно обрезалось и сохранялось правильное соотношение сторон, тогда, я думаю, вам нужно будет заранее знать размер изображения, чтобы оно работало.Не имея этого, вот еще одна ревизия .
<body>
<div id='fg'> </div>
</body>
css:
body {
margin: 0; padding: 0;
overflow: hidden;
background: url('http://wallpaper.zoda.ru/bd/2006/07/21/2c7b4306fd22f049f331d43adb74a5f7.jpg') no-repeat left top;
}
body, html { width: 100%; height: 100%; }
#fg {
margin: 2%; width: 96%; height: 96%;
opacity: 0.7;
background: url('http://3.bp.blogspot.com/-OYlUbWqyqog/TeL-gXGx3MI/AAAAAAAAHRc/bdqvvvaeC7c/s1600/bald-eagle3.jpg') no-repeat center center;
}
Если вы знаете размеры изображения, вы можете установить max-height и max-ширина.(Я тоже попробую: -)
отредактировать снова Чтобы фон обрезался по центру, вам нужно установить положение "center center" вместо«левый верх».(Или «по центру», если вы просто хотите, чтобы он был отцентрирован по горизонтали.)
Вертикальное центрирование элементов с помощью CSS без передовых нестандартных функций (гибкая компоновка блоков) затруднительно.Это может быть связано с JavaScript.Я скажу, что одна проблема с любым JavaScript-решением, подобным этому, заключается в том, что действительно замедляет работу браузера.Если вы должны это сделать, я бы предложил ввести небольшую задержку во времени, чтобы вы не пытались пересчитать макет для каждого события resize.Вместо этого установите таймер примерно на 200 миллисекунд в будущем, когда работа будет выполнена, и каждый раз, когда вы это делаете, отменяйте предыдущий таймер.Таким образом, в то время как человек перетаскивает угол окна, он не сжигает его ЦП.
редактировать еще больше ооооо да @ Кент Брюстер ответ с вертикальным центрированием хорош - явсегда забудь этот трюк: -)