2017-03-14 7 views
1

私はThe Economistにある記事を作り直しましたが、ヘッダーの作成に問題があります。私は、そのままコードを作り直すことなくこれをやっていることを覚えておいてください。自分の実装を作成しようとしています。私のヘッダーの内容を整列する際に問題が発生しました

header { 
 
    background-color: #364043; 
 
} 
 

 
.header__content { 
 
    width: 70%; 
 
    margin: auto; 
 
} 
 

 
.header__left-content { 
 
    display: inline; 
 
    width: 50%; 
 
} 
 

 
.header__nav ul { 
 
    display: inline; 
 
} 
 

 
.header__nav li { 
 
    line-height: 0px; 
 
    display: inline-block; 
 
    vertical-align: middle; 
 
} 
 

 
.header__logo { 
 
    padding-right: 25px; 
 
} 
 

 
.header__nav-link { 
 
    padding-right: 15px; 
 
}
<html> 
 

 
<body> 
 
    <header> 
 
    <div class="header__content"> 
 
     <div class="header__left-content"> 
 
     <div class="header__nav"> 
 
      <ul> 
 
      <li class="header__logo"> 
 
       <img src="http://jobs.printweek.com/getasset/2eef9541-354f-4fec-8ce2-87b008f0323d/"> 
 
      </li> 
 
      <li class="header__nav-link"> 
 
       <a href="google.com">Topics</a></li> 
 
      <li class="header__nav-link"> 
 
       <a href="google.com">Print Edition</a> 
 
      </li> 
 
      <li class="header__nav-link"> 
 
       <a href="google.com">More</a> 
 
      </li> 
 
      </ul> 
 
     </div> 
 
     </div> 
 
     <!--   <div class="header__separator"></div> --> 
 
     <div class="header__site-functions"> 
 
     <p>right</p> 
 
     </div> 
 
    </div> 
 
    </header> 
 
    <div class="container"></div> 
 
</body> 
 

 
</html>

私はトラブル段落要素を取得したんだ、と記事に示すように、最終的にそのコンテナは右に座って。

これについての考えは?私はこれが簡単な修正であれば、業界には新しかったので、私と裸でいます。

答えて

1

display: flex; justify-content: space-between;は、ヘッダの左/右部分をラップする要素上に残っている空きスペースで区切られた行に配置することができます。また、align-itemsを使用して、コンテンツを垂直に整列させることができます。

header { 
 
    background-color: #364043; 
 
} 
 

 
.header__content { 
 
    width: 70%; 
 
    margin: auto; 
 
    display: flex; 
 
    justify-content: space-between; 
 
    align-items: center; 
 
} 
 

 
.header__left-content { 
 
    display: inline; 
 
    width: 50%; 
 
} 
 

 
.header__nav ul { 
 
    display: inline; 
 
} 
 

 
.header__nav li { 
 
    line-height: 0px; 
 
    display: inline-block; 
 
    vertical-align: middle; 
 
} 
 

 
.header__logo { 
 
    padding-right: 25px; 
 
} 
 

 
.header__nav-link { 
 
    padding-right: 15px; 
 
}
<header> 
 
    <div class="header__content"> 
 
    <div class="header__left-content"> 
 
     <div class="header__nav"> 
 
     <ul> 
 
      <li class="header__logo"> 
 
      <img src="http://jobs.printweek.com/getasset/2eef9541-354f-4fec-8ce2-87b008f0323d/"> 
 
      </li> 
 
      <li class="header__nav-link"> 
 
      <a href="google.com">Topics</a></li> 
 
      <li class="header__nav-link"> 
 
      <a href="google.com">Print Edition</a> 
 
      </li> 
 
      <li class="header__nav-link"> 
 
      <a href="google.com">More</a> 
 
      </li> 
 
     </ul> 
 
     </div> 
 
    </div> 
 
    <!--   <div class="header__separator"></div> --> 
 
    <div class="header__site-functions"> 
 
     <p>right</p> 
 
    </div> 
 
    </div> 
 
</header> 
 
<div class="container"></div>

+0

は完全に働きました。とても有難い!私はなぜこれがうまくいったのかについて私自身の研究をしていきますが、もしあなたが1秒間持っていれば、あなたの言葉の中でこの考え方を聞くのが大好きです。 –

+1

@ZachHarriott問題ありません。私の答えの一番上にある言葉は私の考えです:)どのような説明が必要ですか? –

+0

実際には、申し訳ありません。私はそれをもう一度読んで、1分後に全く異なる理解を得ました。私を笑う気にしないでください。 –

1

これはあなたのclass="header__site-functions"に起こっているABLOCK要素であり、幅の100%を取っているので、行に収まりません。あなたはそれを修正するために浮動要素を使用することができます。

header { 
 
    background-color: #364043; 
 
} 
 

 
.header__content { 
 
    width: 70%; 
 
    margin: auto; 
 
} 
 

 
.header__left-content { 
 
    display: inline-block; 
 
    width: 50%; 
 
} 
 

 
.header__nav ul { 
 
    display: inline; 
 
} 
 

 
.header__nav li { 
 
    line-height: 0px; 
 
    display: inline-block; 
 
    vertical-align: middle; 
 
} 
 

 
.header__logo { 
 
    padding-right: 25px; 
 
} 
 

 
.header__nav-link { 
 
    padding-right: 15px; 
 
} 
 
.header__site-functions{ 
 
    float:right; 
 
}
<html> 
 

 
<body> 
 
    <header> 
 
    <div class="header__content"> 
 
     <div class="header__left-content"> 
 
     <div class="header__nav"> 
 
      <ul> 
 
      <li class="header__logo"> 
 
       <img src="http://jobs.printweek.com/getasset/2eef9541-354f-4fec-8ce2-87b008f0323d/"> 
 
      </li> 
 
      <li class="header__nav-link"> 
 
       <a href="google.com">Topics</a></li> 
 
      <li class="header__nav-link"> 
 
       <a href="google.com">Print Edition</a> 
 
      </li> 
 
      <li class="header__nav-link"> 
 
       <a href="google.com">More</a> 
 
      </li> 
 
      </ul> 
 
     </div> 
 
     </div> 
 
     <!--   <div class="header__separator"></div> --> 
 
     <div class="header__site-functions"> 
 
     <p>right</p> 
 
     </div> 
 
    </div> 
 
    </header> 
 
    <div class="container"></div> 
 
</body> 
 

 
</html>

関連する問題