Для чего-то подобного я предпочитаю добавлять элемент контейнера на страницу и избегать использования body
для фоновых изображений, когда мне нужно осуществлять конечный контроль над отображением и позиционированием. Это было бы моим решением:
JSFiddle
Разметка
<body>
<div class="container">
<div class="media"></div>
</div>
</body>
S CSS
body {
padding: 0;
margin: 0;
}
.container {
position: absolute;
width: 100%;
height: 100%;
.media {
width: 100%;
height: 100%;
transform: scale(1.4);
background: {
image: url("https://i.ytimg.com/vi/cYNlJYQI3Uw/maxresdefault.jpg");
position: center center;
size: cover;
repeat: no-repeat;
}
}
}
Обратите внимание, что я использую сброс CSS для удаления автоматов c margin
/ padding
на элементе body
, и что я позволяю body
заполнить все видовой экран.
Класс container
заполняет элемент body
с width
и height
, установленными на 100%
. Я использую свойство CSS background-size
, чтобы покрыть контейнер, затем я использую свойство transform
, чтобы масштабировать container
.
Есть много способов добиться этого эффекта. С другой стороны, использование свойства background-image
в теге body
позволит мне использовать background-size
для масштабирования изображения, чтобы скрыть прозрачные отступы изображения, как вы описали, но сложнее центрировать изображение в контейнере.