2017-03-07 8 views
0

私は100 vh高い私のウェブサイトのヒーローイメージを使用しています。今度は画像が絶対的に配置されるので、ロゴ、ナビゲーション、テキストなどの他の要素を画像上に相対的に配置することができます。このセクションの後で、私は新しいイメージと他のテキストで新しいセクションを始めたいと思いますが、新しい行や列を始めてh1テキストで新しいイメージを入れようとすると、それは以前のイメージの後ろに隠れています。私が意味することは、新しい画像の新しいセクションと英雄の画像の下に表示される<h1>のテキストが、現在隠れているので重なり合ったり隠れたりしないようにすることです。浮かんでも何でもないので、私のフロートはクリアされているので、なぜこのような邪魔になるのか分かりません。HTML要素が重なっています

ここにいくつかのコードがありますので、あなたは何が何かを理解するでしょう。

<div class="container-fluid clearfix"> 
    <div class="row"> 
     <div class="col-lg-12"> 
    <div class="hero_img"> 
     <img class="logo" src="assets/logo.png"></img> 

     <button class="navbar-toggler" type="button" data-toggle="collapse" data-target=".collapse"> 
☰ 
</button> 
     <div class="collapse"> 
     <div class="col-xs-12"> 
     <ul class="nav"> 

     <li class="nav-item"> 
      <a class="nav-link" href="#">Lorem</a> 
     </li> 
     <li class="nav-item"> 
      <a class="nav-link" href="#">Lorem</a> 
     </li> 
     <li class="nav-item"> 
      <a class="nav-link" href="#">Lorem</a> 
     </li> 
     <li class="nav-item"> 
      <a class="nav-link" href="#">Lorem</a> 
     </li> 
     </ul> 
    </div> 
    </div> 
    <div class="black_box clearfix"><h1>Kolding Bike Marathon</h1></div> 
    <div class="black_box_sub clearfix"><p>Bring activity to your life again</p></div> 

    <button type="button" class="btn btn-outline-secondary">Register now</button> 
    <button type="button" class="btn btn-success">Learn more</button> 

    </div> 

</div> 
</div> 
</div> 
</div> 

     <div class="section_one"> 
     <h1>heyyyyy</h1> 
    </div> 



.hero_img { 
    background-image: url("assets/hero.jpg"); 
    width: auto; 
    height: 100vh; 
    background-size: cover; 
    position: absolute; 
    top: 0; 
    left: 0; 
    z-index: 999; 
    overflow: hidden; 
    clear: both; 
} 



.hero_img { 
    width: 100%; 
    height: 100vh; 
    position: absolute; 
    top: 0; 
} 

.logo { 
    position: relative; 
    left: 20px; 
    top: 20px; 
    z-index: 1002; 
    width: 5%; 
    min-width: 50px; 
} 

.nav { 
    position: relative; 
    top: 0; 
    z-index: 1000; 
    margin-top: 20px; 
    /*margin-right: 15px;*/ 
    padding: 20px; 
    /*float: right;*/ 
    width: auto; 
    flex-direction: column; 
    background: #555; 
    /*width: 100%;*/ 
    filter: opacity(0.93); 
} 

a { 
    text-decoration: none; 
    color: white; 
    display: block; 
    border-bottom: 1px solid #444; 
} 

a:hover { 
    color: #999; 
} 

.nav-item { 
    display: block; 

} 

.navbar-toggler { 
    /*float: right;*/ 
    display: flex; 
    justify-content: right; 
    position: relative; 
    z-index: 1000; 
    margin-top: 15px; 
    margin-right: 15px; 
    color: white; 
    float: right; 
} 

.black_box { 
    position: relative; 
    width: 45%; 
    min-width: 400px; 
    text-align: center; 
    z-index: 1000; 
    background: black; 
    margin-top: 10%; 
    padding: 10px 30px; 
    clear: both; 

} 

.black_box h1 { 
    color: white; 
    /*font-family: 'PT Sans', sans-serif;*/ 
    font-family: 'Montserrat', sans-serif; 
    font-weight: 600; 
    letter-spacing: 1.5px; 

} 

.black_box_sub { 
    position: relative; 
    width: 30%; 
    min-width: 310px; 
    text-align: center; 
    z-index: 1001; 
    background: black; 
    margin-top: 2%; 
    clear: both; 
    margin-left: 90px; 
} 

.black_box_sub p { 
    color: white; 
    padding: 5px 25px; 
    font-family: 'Montserrat', sans-serif; 
    text-transform: uppercase; 
    padding-top: 10px; 
    padding-bottom: 0px; 

} 

Codepen:http://codepen.io/Limpuls/pen/NpbwYp

+0

私はあなたが求めているものを得られなかった、あなたはもう少し精緻化することができますか?おそらく写真とそれが今のようなもので、正確に何を望んでいるのですか? –

+0

私は "vh"測定に慣れていませんが、これはあなたの問題と関係していると思われます。画像を垂直表示の高さの100%に設定していますが、これではコンテンツをその下に置くことはできません。いずれにしても、javascriptを使用してウィンドウの高さを取得し、画像divに適用して、ピクセル単位で正確な高さにすることができます。divをスタックすることは問題ありません。実際には、絶対数のdivレイヤーに同じ数値を適用すると、すべてがきれいにスタックされます。 –

+0

ご迷惑をおかけして申し訳ございません。すでにそれを解決しました。 Vh測定ユニットはこれと何ら関係がありませんでした。私は私のヒーローのイメージの位置を絶対に与えることによって間違いを犯しました。相対位置でなければならず、内側のすべての要素が相対的に位置付けられなければなりませんでした。今度は、私はプロパティーヴァルカを変更したので、主なヒーローイメージの下に新しいコンテンツが重複していないことがわかります。とにかくありがとう! – Limpuls

答えて

1

コードにクリーンアップするために、しかし、あなたは位置の両方のエントリを削除することができ、重複から画像を維持するために複数の項目があります。絶対。 .hero_imgクラスから。

その後、container-fluidのすべてのメディアクエリから左と右のパディングを削除します。これは、そのコンテナに必要だったその他のパディングに影響するかもしれませんが、あなたが求めていることをするための素早い道です。

+0

ええ、私は既にポジションアブソリュートを削除し、それを相対パスに変更しました。ありがとう – Limpuls

関連する問題