我有一个带有导航栏和4个div的布局。第一个div由navbar裁剪。谁知道我该怎么办?
<body>
<div id="app" class="flex-container">
<nav class="navbar default-layout p-0 fixed-top d-flex flex-row" style="height: 63px;">
<select id="region" onchange="initProcess();" style="position:absolute;background:#eaeaea;">
</select>
<div style="width: calc(100% - 74px); padding-left: 74px; left: 0; text-align: center; color: #fff">
<img src="images/co-logo.png" style="width: 100px; margin-top: -6px">
<h4>Dashboards</h4>
</div>
<div class="navbar-menu-wrapper d-flex align-items-right">
<button class="navbar-toggler navbar-toggler-right d-lg-none align-self-right" type="button" data-toggle="offcanvas">
<span class="mdi mdi-menu"></span>
</button>
</div>
</nav>
<div class="flex-item" style="background-color:red"></div>
<div class="flex-item" style="background-color:blue"></div>
<div class="flex-item" style="background-color:yellow"></div>
<div class="flex-item" style="background-color:grey"></div>
</div>
</body>
答案 0 :(得分:2)
您可以轻松添加padding-top css属性,该属性等于导航栏的高度。在您的情况下,它将是:
.flex-container {
padding-top: 63px;
}
答案 1 :(得分:1)
由于导航栏设置为position:fixed
,因此它将忽略正常的元素流。因此,其他元素在其下方对齐。在这种情况下,只需将margin-top: 63px;
添加到第一个元素,就可以了(63px
与导航栏的高度完全相同)。
答案 2 :(得分:1)
此CSS将在您的情况下起作用:
body {
margin: 0;
padding: 0;
}
.flex-container {
position: relative;
padding-top: 100px;
}
.navbar {
position: fixed;
top: 0;
background: purple;
z-index: 1;
width: 100%;
}
.flex-item {
width: 100%;
height: 60px;
}
.flex-container .flex-item:first-of-type {
position: absolute;
top: 50px;
width: 100%;
height: 50px;
}