2016-05-24 39 views
-1

私はゼロから作成したシンプルなウェブサイトを持っています。私は、ヘッダーのレイアウトと混同してしまった:div内の配置要素

  • H1のタイトル
  • テキストライン
  • ロゴ
  • メニューは、これらの4つが私のdivヘッダ内にある

(w3schoolからコーディング)。私はdiv内のどこにいてもそれらを配置することができるようにしたいと思います。私が持っている問題は、これにどのようなコーディング(マージン、位置:相対または絶対、パディング、上:,右:など)を使用するかわからないということです。

私はすべての種類の組み合わせを試しましたが、私はそれらが欲しいところに決して配置されず、互いの位置を混乱させます。メニューが全幅を失い、ロゴが上からヘッダーdivの右側では、H1とタグは設定したピクセルに反応しないように見えます。

誰かが時間をかけてコードを見て、このレイアウトを安定させる方法を提案してもらえますか?

enter image description here

<!DOCTYPE html> 
 
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
 
<head> 
 
<title></title> 
 
<style type="text/css"> 
 
body { 
 
\t background-color: #F8F8F8; 
 
\t } 
 

 
#page { 
 
\t width: 900px; 
 
\t margin: 30px auto; 
 
\t background-color: #FFFFFF; 
 
\t } 
 

 
#header { 
 
\t height: 377px; 
 
\t width: 100%; 
 
\t background-image: url(images/banner.jpg); 
 
\t background-repeat: no-repeat; 
 
\t background-position: 0px 0px; 
 
\t } 
 

 
#header a { 
 
\t color: black; 
 
\t text-decoration: none; 
 
\t } 
 
\t 
 
#header ul { 
 
\t list-style-type: none; 
 
\t margin-top: 0; 
 
\t padding: 0; 
 
\t overflow: hidden; 
 
\t background-color: #3399FF; 
 
\t position: relative; 
 
\t top: 264px; 
 
\t } 
 
\t 
 
#header li { 
 
\t float: left; 
 
\t } 
 
\t 
 
#header li a { 
 
\t display: inline-block; 
 
\t color: white; 
 
\t text-align: center; 
 
\t padding: 14px 16px; 
 
\t text-decoration: none; 
 
\t } 
 

 
#header li a.active { 
 
    background-color: gray; 
 
    } 
 

 
#header li a:hover:not(.active){ 
 
\t background-color: #3366CC; 
 
\t } 
 

 
.p1 { 
 
\t font-family: Consolas, monaco, monospace; 
 
    font-size: 20px; 
 
\t position: relative; 
 
    top: 28px; 
 
\t left: 50px; 
 
\t } \t \t 
 
\t 
 
.p2 { 
 
    font-family: Consolas, monaco, monospace; 
 
\t font-size: 16px; 
 
    position: relative; 
 
    top: 5px; 
 
\t left: 200px; 
 
\t } 
 

 
.logo { 
 
\t float: right; 
 
\t position: relative; 
 
\t top: 8px; 
 
\t right: 8px; 
 
\t } 
 
\t 
 
#content { 
 
\t position: relative; 
 
\t top: 12px; 
 
\t left: 10px; 
 
\t } 
 
\t 
 
#footer { 
 
\t font-size: 14px; 
 
\t padding-top: 12px; 
 
\t padding-bottom: 12px; 
 
\t text-align: center; 
 
\t border-top: #D3D3D3 0.5px solid; 
 
\t } 
 
</style> 
 
</head> 
 
<body> 
 
<div id="page"> 
 
<div id="header"> 
 
<img class="logo" src="images/logo-d.png"> 
 
<span class="p1"><a href="http://www.finasteride-kopen.nl"><h1>This is my H1 Title</h1></a></span> 
 
<span class="p2">"This is going to be my tag under H1"</span> 
 
<ul> 
 
<li><a class="active" href="">Link menu</a></li> 
 
<li><a href="">Link menu 2</a></li> 
 
<li><a href="">Link menu 3</a></li> 
 
<li><a href="">Link menu 4</a></li> 
 
<li><a href="">Link menu 5</a></li> 
 
<li><a href="">Link menu 6</a></li> 
 
</ul> 
 
</div> 
 
<div id="content"> 
 
<h1>H1 Title of the page content<h1> 
 
<p></p> 
 
</br> 
 
</br> 
 
</br> 
 
</br> 
 
</br> 
 
</br> 
 
</br> 
 
</br> 
 
</br> 
 
</br> 
 
</br> 
 
</br> 
 
<p></p> 
 
</div> 
 
<div id="footer"> 
 
The footer of the page 
 
</div> 
 
</div> 
 
</div> 
 
</body> 
 
</html>

答えて

0

最初の提案:オブジェクトのリストではなく、画面サイズが異なり、ポスターなど(デスクトップ/モバイル)のようにWebページを考えてみてください、あなたは相対的な使用する必要がありますサイトの反応性を確保するための幅と位置を指定します。私はあなたがより良いテンプレートを見つけることができると確信しています。

第二の提案は:

<style> 
.floatingdiv { 
position:absolute; 
right:0; 
top:0; 
} 
</style> 
<div class="floatingdiv"> 
<h1>Header</h1> 
</div> 
+0

これではありませんテンプレート。私はそれを自分で作った(それゆえの問題)。このコードは私に最もよく知られているように見えます。しかし、私はポジションスタイルを使用しており、divヘッダー内の他のコンテンツの位置に影響を与えたようです。 – Stryker79

0

がように番号なしリストのヘッダの内容を入れて:あなたは要素を配置したいならば、「どこでも」これは、位置決めの正しい使い方の一例です。ブートストラップのようなレスポンシブなフレームワークを使用している場合、これはまったく異なりますが、指定しなかったので、ここにはフレームワークのない例があります。

HTML

<div id="header> 
<ul> 
    <li><h1>Your Title</h1></li> 
    <li><p>some line of text you wanted</p></li> 
    <li class="logo"><a href="index.html"><img src="yourlogo.png" /></a></li> 
    <li class="spacer"></li> 
    <li><a href="somepage.html>Some Page</a></li> 
    <li><a href="somepage.html>Some Page</a></li> 
    <li><a href="somepage.html>Some Page</a></li> 
</ul> 
</div> 

CSS

#header ul { 
    list-style-type: none; 
    margin: 0; 
    padding: 0; 
} 

#header li{ 
    padding: 0 20px; 
    display: inline; 
} 

#header li.spacer{ 
    width:10% 
} 
+0

私はブートストラップを使用していません。私はこのコードを試してみます。 – Stryker79

0

それはHolleが指摘するように、これはオブジェクトのリストではなく、ポスターです、ちょうど正しくdivを構築した場合です。私はあなたが位置づけている主な問題は、あなたのHTML内の基礎構造が操作上有益ではないということです。

各セクションごとにコンテナdivを作成し、divやその他のコンテンツを追加することをお勧めします。すなわち

<div id="headerContainer"> 
    <h1>Title</h1> 
    <img id="logo" src="myImagePath"> 
</div> 
<div id="navigation"> 
     <!-- Navigation Bar, your UL list items --> 
</div> 
<div id="pageContent"> 
     <!-- More content... <img>s, <p>s, <h1>s, probably more divs to structure the content etc--> 
</div> 

私はそれはあなたが提案をしたい場合は、DevTips YouTubeチャンネルを見て取り、助け、彼はウェブサイトを構築する際の設計と構築の段階を説明するのは素晴らしいことだ願っています。

また、ポジショニングの観点から、(それをグーグル)フレキシボックスのカエルをチェックアウトし、ちょうどあなたがジャンプする前に、ブラウザのサポートは素晴らしいではありません注意してください。

乾杯、 ジェームズ

+0

参考になりました。あなたは自習用のテキストブックをお勧めしますか? – Stryker79

+0

問題はありません、私が働いている男がこれを使用しました - https://www.amazon.co.uk/HTML-CSS-Design-Build-Sites/dp/1118008189と私はそれを見ました。物事をうまく説明します。 –

+0

問題はありません、私が働いている男がこれを使用しました - [リンク](https://www.amazon.co.uk/HTML-CSS-Design-Build-Sites/dp/1118008189)、本当にたくさんの専門用語は、シンプルで物事をよく説明し、また参考になる素晴らしいガイドです。個人的には、私が最初に学習を始めたときに、いくつかのリソースが非常に有用であることがわかりました。基本を理解し、コードを書く方法ではなく、コードの仕組みに関する理解を真剣に理解し、それを書いて、あなたが物事をより良くする方法についてのフィードバックを求めるフォーラムに尋ねると、人々の批判は本よりも優れている –

関連する問題