質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

3回答

1067閲覧

横並び、等間隔、下揃えのリストを作り中央にロゴを配置したい

退会済みユーザー

退会済みユーザー

総合スコア0

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2018/10/24 13:19

編集2018/10/24 13:31

前提・実現したいこと

・横並びのリスト
・中央に<h1>で囲んだサイトロゴを配置
・メニューは下揃えで等間隔に配置

○で囲んでいる部分は同じ間隔

○で囲んでいる部分は同じ間隔
WELCOME(サイトロゴ)を画面の中央

発生している問題

<h1>の部分をposition: absolute;で中央に設置しています。 メニューを等間隔、下揃えにできません。

該当のソースコード

https://codepen.io/aakiii/pen/xyQwRm

HTML

1<main> 2<header> 3 4 <h1 class="logo"> 5 <a href="#"><img src="http://fast-uploader.com/transfer/7095941757581.png"></a> 6 </h1> 7 8 <nav> 9 <ul class="clearfix"> 10 <li> 11 <a href="#">メニュー</a> 12 </li> 13 <li> 14 <a href="#">メニュー</a> 15 </li> 16 <li> 17 <a href="#">メニュー</a> 18 </li> 19 <li> 20 <a href="#">メニュー</a> 21 </li> 22 </ul> 23 </nav> 24 25</header> 26</main>

CSS

1header{ 2 margin:100px auto 59px; 3 position: relative; 4} 5header nav{ 6 position: relative; 7 overflow: hidden; 8} 9header nav ul{ 10 position: relative; 11 left: 50%; 12 float: left; 13} 14header nav ul li{ 15 position: relative; 16 left: -50%; 17 float: left; 18 margin-right: 50px; 19} 20header nav ul li:nth-child(2){ 21 margin-right: 500px; 22} 23header nav ul li a:link, 24header nav ul li a:visited{ 25 font-size: 16px; 26 letter-spacing: 0.05em; 27} 28main .logo{ 29 position: absolute; 30 top:0; 31 bottom: 0; 32 left:0; 33 right: 0; 34 margin: auto; 35 width:500px; 36 height: 315px; 37}

試したこと

header nav ul li:nth-child(2){
margin-right: 400px;
}
の調整

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ちょっとトリッキーだけど ul の中に無理やり幅500pxの空要素追加して
orderをかえて中央にはさんでから flex-between で等間隔にするのはどうかな

h1 { position: absolute; width: 100%; height: 100%; display: flex; justify-content: center; align-items: flex-end; } nav { width: 100%; height: 100%; } ul { width: 100%; height: 100%; margin: 0; padding: 0; display: flex; justify-content: space-between; align-items: flex-end; } li:nth-child(3) { order: 4; } li:nth-child(4) { order: 5; } ul:after { display: block; content: ""; width: 500px; order: 2; }

投稿2018/10/24 15:23

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

このような感じでいかがでしょうか?
・下揃え対策の為のリセット用cssがあります
・不要なcssは削除してください

css

1* { /* リセット用cssです */ 2 margin: 0; 3 padding: 0; 4} 5 6.flexbox { 7 width: 960px; /* 不要ならば削除してください */ 8 margin: 0 auto; /* 不要ならば削除してください */ 9 display: flex; 10 justify-content: center; /* 中央寄せ */ 11 align-items: flex-end; /* 下揃え */ 12} 13 14img { 15 vertical-align: bottom; /* 下余白対策 */ 16} 17 18li { 19 display: inline-block; 20 list-style: none; 21} 22 23.navlist-1 li { 24 padding-right: 20px; 25} 26 27.navlist-1 li { 28 padding-left: 20px; 29} 30 31li a { 32 text-decoration: none; /* 不要ならば削除してください */ 33 color: #000; /* 不要ならば削除してください */ 34} 35

HTML

1<main> 2<header> 3<div class="flexbox"> 4<nav> 5<ul class="navlist-1"> 6<li> 7<a href="#">メニュー</a> 8</li> 9<li> 10<a href="#">メニュー</a> 11</li> 12</ul> 13</nav> 14<h1 class="logo"> 15<a href="#"><img src="http://fast-uploader.com/transfer/7095941757581.png"></a> 16</h1> 17<nav> 18<ul class="navlist-1"> 19<li> 20<a href="#">メニュー</a> 21</li> 22<li> 23<a href="#">メニュー</a> 24</li> 25</ul> 26</nav> 27</div> 28</header> 29</main>

投稿2018/10/25 14:00

編集2018/10/25 14:04
akihiro3

総合スコア955

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

まず、デフォルトのスタイルが当たらないようにreset.cssなどで上書きするところから始めることをおすすめします。

今回の中央寄せのポイント!!!
便利なflexプロパティを使いましょう!!

flex神様の登場です!

ul
display: flex;
justify-content: center;
align-items: flex-end;
を付与します。
これだけで、メニューが中央寄せかつ下揃えすることが可能になります!便利!!

あとはliに均等にmarginを付与してあげます。
margin: 0 25px;左右間隔が50pxになります。

2番目のliにはmargin-right: 300px;
3番目のliにはmargin-left: 300px;
を付与してあげます。

実際に動くサンプルを用意したので確認してみてください。
https://jsfiddle.net/ep7xr6hk/1/

投稿2018/10/28 00:35

編集2018/10/28 00:37
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問