我试图装饰我的导航栏以便它看起来更好一点,我使用bootstrapv4作为基础,我只想添加2" Stripes"在导航栏的顶部,但由于某种原因,bootstrap以我的装饰为中心,我想阻止它。
这是我的代码(稍微简化)
HTML:
<nav class="navbar navbar-expand-lg navbar-green">
<div class="navbar-top-bg"></div>
<div class="container">
<div class="navbar-top-fg"></div>
</div>
</nav>
CSS:
.navbar-top-bg {
position: absolute;
content: "";
width: 100%;
height: 10px;
background: rgba(67, 107, 65, 0.5);
margin: 0 auto;
z-index: 111111;
border-bottom: 1px solid rgba(87, 136, 89, 0.4);
vertical-align: top;
}
.navbar-top-fg {
position: relative;
content: "";
width: 288px;
height: 10px;
-webkit-transform: perspective(40px) rotateX(-16deg);
transform: perspective(40px) rotateX(-16deg);
background: rgba(0, 0, 0, 0.5);
margin: 0 auto;
z-index: 1111111;
/*border-bottom: 2px solid rgba(234, 234, 234, 0.4);*/
border-right: 2px solid rgb(65, 100, 62);
border-left: 2px solid rgb(65, 100, 62);
vertical-align: top;
}
.navbar-green {
padding-left: 0;
padding-right: 0;
background: rgba(37, 48, 27, 1);
background: -moz-linear-gradient(top, rgba(39, 41, 37, 1) 0%, rgba(0, 0, 0, 0.60) 100%);
background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(39, 41, 37, 1)), color-stop(100%, rgba(0, 0, 0, 0.60)));
background: -webkit-linear-gradient(top, rgba(39, 41, 37, 1) 0%, rgba(0, 0, 0, 0.60) 100%);
background: -o-linear-gradient(top, rgba(39, 41, 37, 1) 0%, rgba(0, 0, 0, 0.60) 100%);
background: -ms-linear-gradient(top, rgba(39, 41, 37, 1) 0%, rgba(0, 0, 0, 0.60) 100%);
background: linear-gradient(to bottom, rgba(39, 41, 37, 1) 0%, rgba(0, 0, 0, 0.60) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#25301b', endColorstr='#79bd64', GradientType=0);
border-bottom: 1px solid rgba(91, 115, 89, 0.08) !important;
-webkit-box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.75);
-moz-box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.75);
box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.75);
height: 75px;
position: fixed;
top: 0;
right: 0;
left: 0;
z-index: 1030;
}
正如您所看到的,2条绿色条纹位于导航栏的中心(垂直),但我希望它们位于顶部(要查看该布局,只需删除navbar
和navbar-expand-lg
类)我也想使用常见的&#34; navbar&#34;添加链接的功能等。
这里还有一个指向jsfiddle的链接:
答案 0 :(得分:2)
在“条纹”的两个部分使用position: absolute
,然后使用top: 0
将它们置于顶部。使用left: 0
和right: 0
将它们居中。
.navbar-top-bg {
width: 100%;
height: 10px;
background: rgba(67, 107, 65, 0.5);
margin: 0 auto;
z-index: 111111;
border-bottom: 1px solid rgba(87, 136, 89, 0.4);
}
.navbar-top-fg {
width: 288px;
height: 10px;
-webkit-transform: perspective(40px) rotateX(-16deg);
transform: perspective(40px) rotateX(-16deg);
background: rgba(0, 0, 0, 0.5);
margin: 0 auto;
z-index: 1111111;
/*border-bottom: 2px solid rgba(234, 234, 234, 0.4);*/
border-right: 2px solid rgb(65, 100, 62);
border-left: 2px solid rgb(65, 100, 62);
}
.navbar-top-bg,
.navbar-top-fg {
position: absolute;
top: 0;
left: 0;
right: 0;
}