twitter-bootstrap - 在移动设备上单击导航栏面包屑时如何防止标题文本向下移动
问题描述
问题是,在移动设备中,当我单击面包屑时,标题文本和按钮会向下移动到标题图像之外。是否可以保持按钮和文本静态而无需将导航移动到标题之外。如果 nav 在标题之外,则不会发生这种情况。 https://jsfiddle.net/f4cejopu/
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<style type="text/css">
.row {
margin-right: 0px;
margin-left: 0px;
}
.navbar-custom {
background: transparent; !important;
z-index: 9999;
}
header {
background-image: url("https://i.imgur.com/w8jxzG4.jpg");
height: 80vh;
background-size: cover;
background-position: center;
background-attachment: fixed;
position: absolute;
width: 100%;
top: 0;
}
.navbar-custom {
background: transparent !important;
}
header h1{
color: #fff;
}
.header-content{
padding-top: 14rem;
padding-bottom: 10rem;
}
</style>
<title></title>
</head>
<body>
<header>
<nav class="navbar navbar-custom navbar-expand-sm navbar-dark bg-dark">
<a class="navbar-brand" href="#">Space</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav mr-auto">
<li class="nav-item">
<a class="nav-link" href="#">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Explore</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Shop
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#">Something else here</a>
</div>
</li>
</ul>
<ul class="navbar-nav ml-auto"> <!-- margin-right auto -->
<li>
<a class="nav-link" href="#">Login</a>
</li>
<li>
<a class="nav-link" href="#">Register</a>
</li>
</ul>
</div>
</nav>
<div class="header-content">
<div class="row">
<div class="col-sm-10 mx-auto">
<h1>Welcome To The Space</h1>
</div>
</div>
<div class="row">
<div class="col-sm-10 mx-auto">
<button class="btn">Register for a trip</button>
</div>
</div>
</div>
</header>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<!-- Optional JavaScript -->
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
</body>
</html>
解决方案
防止nav
文本下推的最简单解决方法content
是通过定位将其从 DOM 流中移除。
.navbar.navbar-custom {
position: absolute;
left: 0;
right: 0;
}
您会注意到您的内容将向上移动(因为navbar
不再影响它周围的元素 - 类似于从 中删除它<header>
)。这里最简单的解决方法就是对内容应用偏移量。就像是:
.header-content {
margin-top: 3.4375rem // or ~55px
}
或者,利用现有的padding-top
,例如:
.header-content {
padding-top: calc(3.4375rem + 4rem);
}
JSFiddle:https ://jsfiddle.net/wmtsgxe4/
推荐阅读
- assembly - FLAGS 寄存器多久在 asm 中更新一次?
- javascript - Laravel - Java 脚本 - 无法在 ajax 调用中从 Web 路由 url 加载页面
- image - 即使是用于训练的数据集中的图像在进行预测时也会给出相反的值
- javascript - 在 chrome 中创建新选项卡时,我想重定向到自定义 html 页面
- javascript - 使用 window.open 中的按钮打印
- asp.net - 将网站部署到 Azure:每次都需要清理缓存的内容才能看到更新的网站 [ASP.NET + REACT]
- c++ - 您将如何测量一个音频样本中的低音量?
- angular - 如何覆盖角度 8 中的功能?
- java - 为具有多个关系的表创建 Hibernate 条件查询
- c# - 用C#修改xml文件