リキッドデザインのWEBサイトを作成していますが、ヘッダーに対し”WELLCOME”を表記した青色の部分が重なるよう考えています。
#top header{position:relateive};
もしくは
#top {position:relateive};
とした状態で、
.board {position:abusolute};
とすると、メイン画像部分が潰れてしまい(というよりrelateiveを設定していない状態でも.board {position:abusolute};だけでこのようになります。)
CSSだけでpositionの使用を無しに要素同士を重ねるのは難しいでしょうか?
(z-indexも試しましたが機能しないようです)
アドバイス頂ければ幸いです。
<body> <section> <div id="top" class="big_bg"> <header class="main_header"> <nav> <ul> <li><a href="#main">Top</a></li> <li><a href="#works">Works</a></li> <li><a href="#profile">Profile</a></li> </ul> </nav> </header> <main id="main"> <div class="board"> <h1>WELLCOME</h1> <p><br> WEB site</p> <h2>SNS</h2> <a href=""><img src="./img/twitter.png"></a> <a href=""><img src="./img/instagram.png" ></a> </div> </main> </div> </section>
@charset "utf-8"; html{ font-size: 2.5vw; } * { margin: 0px; padding: 0px; box-sizing: border-box; } body{ font-size: 1rem; font-family: Impact,Charcoal; color: white; } h1{ font-size: 8vw; color: black; } h2{ font-size: 7vw; } #works, #profile, fotter{ height: 1080px; background-color: #333333; } header{ background-color: rgba(0,0,255,0.5); padding: 0 2%; height: auto; justify-content: space-between; } a{ text-decoration: none; color: white; } .big_bg{ background-size: contain; background-position: right top; background-repeat: no-repeat; position: relative; } #top{ background-color:#FF00FF ; background-image: url("../img/top.png"); } #top header{ } nav ul{ display: flex; flex-wrap: wrap; justify-content: flex-end; width: 100%; } nav ul li{ position: static; list-style: none; } nav ul li a{ margin-right:20px; font-size: 5vw; color: white; } .board{ background-color: rgba(25,25,112,0.5); height: auto; width: 37%; position: absolute; top:30px; height: 1080px; } .board a img{ width: 10vw; height: auto; }
追記
回答より、ネガティブマージンを使用してはどうか?とのご意見が有ったため、下記のコードを参考に修正することで、要素を重ねることが出来ました。
.board{ background-color: rgba(25,25,112,0.5); /* height: auto; 削除 */ width: 37%; /* position: absolute; 削除 */ /* top:30px; 削除 */ height: 1080px; margin-top: -40px; /* 追加 */ }
修正
.board{ background-color: rgba(47, 47, 68, 0.5); width: 37%; /* position: relative; */ padding-top: 250px; margin-top: -250px; max-height: 1080px; }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/07 07:19
2020/06/07 07:27