创建全屏响应式背景图片是现代网页设计的一项基本技能。在本指南中,我们将解决全屏背景图像的问题并探索替代解决方案。
<div class="main-header"> <div class="row"> <div class="large-6 large-offset-6 columns"> <h1>BleepBleeps</h1> <h3>A family of little friends<br>that make parenting easier</h3> </div> </div> </div>
.main-header { background-image: url(../img/bb-background2.png); background-repeat: no-repeat; background-position: center; background-size: cover; width: 100%; height: 100%; }
提供的代码使用background-size: cover属性,缩放图像以覆盖容器。但是,它将图像裁剪到屏幕外,导致显示不完整。
1.使用 CSS 进行绝对定位
#bg { position: fixed; top: 0; left: 0; min-width: 100%; min-height: 100%; }
2.使用 CSS 媒体查询进行比例缩放
.bg { min-height: 100%; max-width: 1024px; width: 100%; height: auto; position: fixed; top: 0; left: 0; } @media screen and (max-width: 1024px) { .bg { left: 50%; margin-left: -512px; } }
3. jQuery 调整大小侦听器
$(window).load(function() { var $bg = $("#bg"); var aspectRatio = $bg.width() / $bg.height(); function resizeBg() { if ((theWindow.width() / theWindow.height()) < aspectRatio) { $bg.addClass('bgheight'); } else { $bg.addClass('bgwidth'); } } theWindow.resize(resizeBg).trigger("resize"); });
要允许 div> 位于移动设备上的全屏图像上方,请考虑使用 Flexbox 或 CSS 网格和绝对定位。
以上是如何修复全屏响应式背景图像被裁剪的问题?的详细内容。更多信息请关注PHP中文网其他相关文章!