2017-06-13 23 views
0

により、以下のメニュースタイル、私はあなたが見ることができ、CSS

を作成したいですNav ---ロゴ---情報|

これはモバイルで使いたいスタイルです。

Navは左揃えです。

ロゴは中央揃えです。

情報は右揃えです。私は私が欲しいものを得るために、各項目に対して実装する必要がありますどのようなスタイル

<div id="navbar"> 
    <div class="item">Nav</div> 
    <div class="item">Logo</div> 
    <div class="item">Info</div> 
</div> 

ありがとうございます。

+1

あなたがそれに任意の試みを試みたことがありますか?研究は[so]を求める前提条件です。 –

+0

申し訳ありませんが、私はできません – hyeokluv

答えて

1

を下回っている、@mediaクエリ、それをラップする必要があるだろうコンテンツ。

Fiddle

.navbar{ 
 
    max-width: 600px; 
 
    border: 1px solid black; 
 
    display: flex; 
 
    flex-wrap: wrap; 
 
    justify-content: space-around; 
 
    align-items: center; 
 
}
<header class="navbar"> 
 
    <div class="menu"> 
 
    <ul> 
 
     <li><a href="#">Menu 1</a></li> 
 
     <li><a href="#">Menu 2</a></li> 
 
     <li><a href="#">Menu 3</a></li> 
 
    </ul> 
 
    </div> 
 
    <div class="logo"> 
 
    <img src="https://placehold.it/88x88" alt="logo"> 
 
    </div> 
 
    <div class="info"> 
 
    <p> Info about the website </p> 
 
    </div> 
 
</header>

+0

メニューで「幅」と「高さ」のハードコーディングが良い考えであると思うのはなぜですか?本当にそうではありません。あなたのメニューは、スクリーン幅が '600px '未満のモバイルデバイスでは本当に悪く見えます。 –

+0

私はそれを言っていませんでした。私はちょうど表現のためにやった。 –

+0

あなたは[so]と答えました。暗黙のうちに、同じ問題を抱える今後のすべての訪問者の例を設定しています。あなたの答えは、「これは正しい方法で、どうやってやるべきか」と言います。ベストプラクティスを使用して回答を提供し、前提を行わないことを検討してください。あなたの答えがより多くの人々を助けるこのように。 –

2

これを達成する最も簡単な方法は、flexboxです。モバイルデバイスにそれを制限するには、ブートストラップのために、使用flexboxは周りの親フレックスとスペースを作る768px

#navbar { 
 
    /* 
 
    * place non-mobile styles here 
 
    * For example, to hide the navbar outside mobile... 
 
    */ 
 
    display: none; 
 
} 
 
@media (max-width: 767px) { 
 
    #navbar { 
 
    display:flex; 
 
    justify-content: space-between; 
 
    align-items: center; /* optional, to center vertically */ 
 
    } 
 
}
<div id="navbar"> 
 
    <div class="item">Nav</div> 
 
    <div class="item">Logo</div> 
 
    <div class="item">Info</div> 
 
</div>

+0

私はフレックスについて学ぶチャンスがあります。こちらこそありがとう。 – hyeokluv

関連する問題