html - Place a Carousel just below the navbar bootstrap-4 Beta
问题描述
I want to place a Bootstrap Carousel just below the navbar with full height. If I remove Bootstrap class fixed-top then Carousel automatically start below the navbar. In this situation what should I do? How can I achieve this task? Please Check: https://www.codeply.com/go/11JujOx93X
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
<nav class="navbar navbar-expand-lg navbar-light fixed-top bg-light">
<a class="navbar-brand p-3" href="#">Navbar</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNavAltMarkup">
<div class="navbar-nav">
<a class="nav-item nav-link active" href="#">Home <span class="sr-only">(current)</span></a>
<a class="nav-item nav-link" href="#">Features</a>
<a class="nav-item nav-link" href="#">Pricing</a>
<a class="nav-item nav-link disabled" href="#">Disabled</a>
</div>
</div>
</nav>
<!-- Carousel -->
<div id="carouselExampleIndicators" class="carousel slide" data-ride="carousel">
<ol class="carousel-indicators">
<li data-target="#carouselExampleIndicators" data-slide-to="0" class="active"></li>
<li data-target="#carouselExampleIndicators" data-slide-to="1"></li>
<li data-target="#carouselExampleIndicators" data-slide-to="2"></li>
</ol>
<div class="carousel-inner">
<div class="carousel-item active">
<img class="d-block w-100" src="https://images.pexels.com/photos/1068989/pexels-photo-1068989.jpeg?auto=compress&cs=tinysrgb&h=650&w=940" alt="First slide">
</div>
<div class="carousel-item">
<img class="d-block w-100" src="https://images.pexels.com/photos/1068989/pexels-photo-1068989.jpeg?auto=compress&cs=tinysrgb&h=650&w=940" alt="Second slide">
</div>
<div class="carousel-item">
<img class="d-block w-100" src="https://images.pexels.com/photos/1068989/pexels-photo-1068989.jpeg?auto=compress&cs=tinysrgb&h=650&w=940" alt="Third slide">
</div>
</div>
<a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
解决方案
1-在 css 中给 body 一个 padding-top 和 navbar 一样的高度:
body { padding-top: 60px; }
2-最好使用 jQuery 来确定导航栏高度:
$('body').css('padding-top', $('.navbar').outerHeight());
3-如果您想使轮播+导航栏高度等于视图高度:
$('body').css('padding-top', $('.navbar').outerHeight());
var carouselHeight = $('body').height() - $('.navbar').outerHeight();
$('.carousel, .carousel .item, .carousel .carousel-inner').css('height', carouselHeight)
推荐阅读
- module - 模块内的相对路径
- apache-flink - 为什么我们在 flink 中需要多个操作符的 keyed?
- angular - 是否可以为角度指令传递选择器字符串,以便该指令对于多个组件是通用的
- java - 如何单击基于单选按钮的列值?
- javascript - 将数组从 php 传递到 ajax 时,JSON 中位置 0 的意外标记 C
- node.js - 如何使用 expressjs 处理 json 响应
- android - FCM 推送通知在某些设备上不起作用
- c - 我的代码有问题,我不确定我是否写对了
- python - 向 azure inkrecognizer 发送请求
- python - 如何找到二维 numpy 数组的逐行交集?