我使用Bootstrap
创建了一个透明的导航栏,并在图像上添加了一个margin-top: -100px
的CSS值,以便它显示在导航栏下方。在IE中可以正确渲染:
我的HTML略微复杂,但必须保持这样(由于各种原因):
<div class="hero-image-row">
<div class="hero-image-outer text-center">
<div class="hero-image-inner text-center">
<%= image_tag 'Background 1.jpg', class: "hero-image",alt: "Delicious-looking hot dogs on a manly grill. Just like God intended." %>
</div> <!-- hero-image-inner -->
</div> <!-- hero-image-inner -->
</div> <!-- row -->
我的CSS代码如下:
/* NAVIGATION */
#custom-bootstrap-menu.navbar {
margin-bottom: 0px !important;
}
#custom-bootstrap-menu.navbar-default .navbar-brand {
color: black;
}
#custom-bootstrap-menu.navbar-default {
font-size: 18px;
font-family: $font-typewriter;
background-color: $transparent-white !important;
border: none;
border-radius: 0px;
}
#custom-bootstrap-menu.navbar-default .navbar-nav>li>a {
color: black;
}
#custom-bootstrap-menu.navbar-default .navbar-nav>li>a:hover,
#custom-bootstrap-menu.navbar-default .navbar-nav>li>a:focus {
color: black;
background-color: $transparent-black !important;
}
#custom-bootstrap-menu.navbar-default .navbar-toggle {
border-color: black;
}
#custom-bootstrap-menu.navbar-default .navbar-toggle:hover,
#custom-bootstrap-menu.navbar-default .navbar-toggle:focus {
background-color: $transparent-black;
}
#custom-bootstrap-menu.navbar-default .navbar-toggle:hover .icon-bar,
#custom-bootstrap-menu.navbar-default .navbar-toggle:focus .icon-bar {
background-color: $transparent-black;
}
#custom-bootstrap-menu.navbar-default .navbar-toggle {
border-color: black !important;
}
#custom-bootstrap-menu.navbar-default .navbar-toggle .icon-bar {
background: black !important;
}
/* HEROS */
.hero-image-row {
margin-top: -50px !important;
overflow-x: hidden !important;
width: 100% !important;
}
.hero-image-outer {
width: 300%;
height: 400px;
overflow-y: hidden !important;
}
.hero-image-inner {
width: 66%;
overflow-x: hidden !important;
}
.hero-image {
height: 400px;
margin-left: -50%;
z-index: 0 !important;
}
@media screen and (min-width: 700px) {
.hero-image-outer {
width: 100%;
}
.hero-image-inner {
width: 100%;
height: 400px;
}
.hero-image {
width: 100%;
height: auto;
margin-left: 0%;
}
}
.overlap-hero-image {
margin-top: -300px;
height: 300px;
}
.height-auto {
height: auto !important;
}
有人可以帮我诊断Chrome在这里为什么出问题吗?我在其他网站上使用类似的代码从未遇到过问题。我已经尝试了有和没有透明度的SCSS变量,所以我知道那不是问题。真的是与margin有关的问题。
添加的导航栏代码:
<div id="custom-bootstrap-menu" class="navbar navbar-default " role="navigation">
<div class="container-fluid">
<div class="navbar-header"><a class="navbar-brand" href="/">The Manly Art of BBQ</a>
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-menubuilder"><span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button>
</div>
<div class="collapse navbar-collapse navbar-menubuilder">
<ul class="nav navbar-nav navbar-right">
<li><a href="/products">Man Rules</a></li>
<li><a href="/about-us">BBQ</a></li>
<li><a href="/contact">My Mancard</a></li>
</ul>
</div> <!-- collapse -->
</div> <!-- container-fluid -->
</div> <!-- custom-bootstrap-menu -->
.hero-image-row {margin-top: -100px !important; -webkit-margin-before: -100px !important;}
。我已经尝试过带和不带!important
的方式。 - Liz