javascript - 调整图像大小以适应父 CSS/Bootstrap

标签 javascript jquery html css twitter-bootstrap

我有一个 html 和一个 CSS 文件,我将 body 标签的背景设置为 background-image: url(..); HTML

<!DOCTYPE html>
<html lang="en">

<head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=yes">
    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" integrity="sha384-rwoIResjU2yc3z8GV/NPeZWAv56rSmLldC3R/AZzGRnGxQQKnKkoFVhFQhNUwEyJ" crossorigin="anonymous">
    <!-- jQuery first, then Tether, then Bootstrap JS. -->
    <script src="https://code.jquery.com/jquery-3.1.1.slim.min.js" integrity="sha384-A7FZj7v+d/sdmMqp/nOQwliLvUsJfDHW+k9Omg/a/EheAdgtzNs3hpfag6Ed950n" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js" integrity="sha384-DztdAPBWPRXSA/3eYEEUWrWCy7G5KFbe8fFjk5JAIxUYHKkDx6Qin1DkWx51bBrb" crossorigin="anonymous"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/js/bootstrap.min.js" integrity="sha384-vBWWzlZJ8ea9aCX4pEW3rVHjgjt7zpkNpZk+02D9phzyeVkE+jo0ieGizqPLForn" crossorigin="anonymous"></script>
    <link rel="stylesheet" href="public/css/coreStyleSheet.css">
    <link rel="stylesheet" href="public/css/animate.css">
    <script src="public/js/coreHomePage.js"></script>
    <link rel="stylesheet" href="assests/font-awesome-4.7.0/css/font-awesome.min.css"> </head>

<body>
    <nav class="navbar navbar-light animated fadeInLeft" style="background-color: #C0C0C0 ;">
        <button class="navbar-toggler navbar-toggler-left" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="#navbarNav" aria-expanded="false" aria-label="Toggle navigation"><span class="lines"></span><span class="lines"></span><span class="lines"></span></button>
        <h1 class="navbar-brand mb-0 move-header">NavBrand</h1>
        <div class="collapse animated fadeInLeft" id="navbarNav">
            <ul class="navbar-nav">
                <li class="nav-item active"> <a class="nav-link" href="#">Home</a> </li>
                <li class="nav-item"> <a class="nav-link" href="#">Features</a> </li>
                <li class="nav-item"> <a class="nav-link" href="#">Pricing</a> </li>
                <li class="nav-item"> <a class="nav-link disabled" href="#">Disabled</a> </li>
            </ul>
        </div>
    </nav>
    <div class="container"> 
        <div class="row"></div>
    </div>
</body>

</html>

CSS

body {
    background-image: url(../../assests/img/back.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
}

当我开始调整窗口大小时,真正的问题就开始了,当图像调整高度时,图像开始很好地调整大小,出现很多失真在图像中,图像的某些部分会移动,而某些部分会静止不动。我可以给你看,但我无法捕捉屏幕。但是当我在 JSFIDDLE 中运行时,它工作正常。我的代码中有媒体查询,它位于 body 标签之后。

PS:使用bootstrap4

最佳答案

在适当保留背景图像的同时调整窗口大小对我来说一直很有效,尤其是在使用 Bootstrap 时。

html { 
  background: url(../../assests/img/back.jpg) no-repeat center center fixed; 
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}

这会在调整窗口大小时固定背景并将其居中。

关于javascript - 调整图像大小以适应父 CSS/Bootstrap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41770291/

相关文章:

javascript - 如何使用哈希值使用 jquery 打开 Bootstrap 模式?

javascript - AngularJS - 使用指令允许 jQuery 单击事件触发 ng-click

javascript - jQuery 单击并滚动到下一个类不起作用的 div

Jquery 将事件类添加到所有 div 但只想要事件类

html - 如何在 CSS 中更改链接的颜色

javascript - 淡入 JavaScript innerHTML

javascript - 重新组合数组中的特定项目

javascript - 为什么在手动重新排序和还原 dom 项目后,knockout 模板绑定(bind)会停止工作?

javascript - 在一条路线上加载多个模板/ Controller

javascript - Chrome : "open link in new tab" not firing the click event?