<!doctype html> <head><link rel="stylesheet" type="text/css" href="c.css"></head> <body> <header> <div class="leftimg"> <p>Progate</p> </div> <div class="rightobj"> <ul> <li>Home</li> <li>About</li> <li>Contact</li> </ul> </div> </header> <div class="wrapper"> <nav> <ul> <li>game</li> <li>playstion</li> <li>Nintend ds</li> </ul> </nav> <main> <div class="what"> <p>■ Whats new</p> <p>今週のピックアップ商品は</p> <p>妖怪ウオッチの腕時計です</p> </div> </main> <aside> </aside> </div> <footer> </footer> </body> </html>
body { margin:0; min-height:100vh; display:grid; grid-template-rows:100px 1fr 100px; grid-template-areas:"header" "wrapper" "footer"; } header { grid-area:header; display:flex; border-bottom:4px solid gray; background-color:lightsteelblue; } .leftimg { flex:1; color:lightblue; font-size:30px; margin:auto 40px; } .rightobj { flex:2; margin:auto 0px; } .rightobj ul { display:flex; } .rightobj ul li { flex:1; list-style:none; margin-left:-80px; font-size:28px; color:lightsalmon; } .wrapper { grid-area:wrapper; display:grid; grid-template-columns:270px 1fr 240px; grid-template-areas:"left center right"; } nav { grid-area:left; border:1px solid gray; background-color:mediumaquamarine; } nav ul li { font-size:20px; color:lightskyblue; list-style:none; } main { grid-area:center; border:1px solid gray; background-color:lightskyblue; } .what { margin-top:30px; margin-left:50px; padding:20px; border:5px solid lightgray; border-radius:10px; width:500px; background-color:white; font-family:Georgia, 'Times New Roman', Times, serif; } aside { grid-area:right; border:1px solid gray; background-color:mediumaquamarine } footer { grid-area:footer; border:1px solid gray; }
画像で見て取れる通り、Home About Contactの文字間に開きがあります。
.rightobj ul li {
flex:1;
list-style:none;
margin-left:-80px;
font-size:28px;
color:lightsalmon;
}
margin-left:-80px;
と指定しています。
なぜこのマージンが適用されないのでしょうか。
質問するより先に私がした指摘を対応してください。
マージン効いてます。margin-left:-80px; を消たり、追加してみれば分かります。
クラスrightobjに効いて、ul liには効いていないように思います。
「思う」ではなく事実確認を。
https://teratail.com/questions/323867
この回答で何も得てないんですか?
「画像で見て取れる通り、Home About Contactの文字間に開きがあります。」ということからやりたいことは、リスト間の間隔を狭めたいということでしょうか。
だとしたら、flex:1; を削除すれば間隔は狭まります。
flex:1;削除でできました。ありがとうございます。
flex:1; の意味を公式ドキュメントで確認しておくことをお勧めします。
flex - CSS: カスケーディングスタイルシート | MDN
https://developer.mozilla.org/ja/docs/Web/CSS/flex
回答1件
あなたの回答
tips
プレビュー