⊗mkPmLtPrm 250 of 250 menu

HTMLとCSSを使ったレイアウトの実践

コンテンツを追加しながらレイアウト作成の練習をしましょう。 例えば、次のようなレイアウトを作ってみましょう:

まず、レイアウトの基本構造を作りましょう:

<div class="wrapper"> <header> ... </header> <div class="container"> <aside class="left"> left </aside> <main> ... </main> <aside class="right"> right </aside> </div> <footer> site.com </footer> </div>

では、ヘッダーについて見ていきましょう。 サンプルからわかるように、ヘッダーにはサイト名とメニューがあります。 これらのブロックは左端から等間隔で配置されています。 この場合、共通の親要素でまとめ、これらのブロックを一つの単位として移動させるのが合理的です:

<div class="wrapper"> <header> <div class="block"> <div class="sitename"></div> <nav></nav> </div> </header> </div>

ヘッダーのブロックにコンテンツを追加しましょう:

<div class="wrapper"> <header> <div class="block"> <div class="sitename">site.com</div> <nav> <a href="#">home</a> <a href="#" class="active">blog</a> <a href="#">photos</a> <a href="#">about us</a> <a href="#">contacts</a> </nav> </div> </header> </div>

では、ヘッダーブロックのスタイルを書きましょう。 ただし、ヘッダーの高さは指定せず、 その内容によって高さが決まるようにします:

header { border: 1px solid black; } .block { margin: 20px 0 50px 220px; } .sitename { margin-bottom: 10px; font: 20px Arial; } nav { display: flex; width: 600px; border: 1px solid black; }

コンテナ内に3列を作成するコードを書きましょう。 ただし、コンテンツの高さは指定せず、 その内容によって決まるようにします:

.container { display: flex; } main { width: 660px; padding: 20px; border: 1px solid black; } .left { width: 200px; margin-right: 20px; padding: 20px; border: 1px solid black; } .right { width: 200px; margin-left: 20px; padding: 20px; border: 1px solid black; }

では、レイアウトの残りのスタイルを書き、 課題の解決策を得ましょう:

<div class="wrapper"> <header> <div class="block"> <div class="sitename">site.com</div> <nav> <a href="#">home</a> <a href="#" class="active">blog</a> <a href="#">photos</a> <a href="#">about us</a> <a href="#">contacts</a> </nav> </div> </header> <div class="container"> <aside class="left"> left </aside> <main> <h1>Our blog</h1> <p> ... </p> <p> ... </p> <p> ... </p> <p> ... </p> <p> ... </p> </main> <aside class="right"> right </aside> </div> <footer> site.com </footer> </div> * { box-sizing: border-box; } .wrapper { width: 1100px; margin: 30px auto; border: 1px solid black; } header { border: 1px solid black; } .container { display: flex; } main { width: 660px; padding: 20px; border: 1px solid black; } .left { width: 200px; margin-right: 20px; padding: 20px; border: 1px solid black; } .right { width: 200px; margin-left: 20px; padding: 20px; border: 1px solid black; } footer { padding: 30px 0; border: 1px solid black; text-align: center; } .block { margin: 20px 0 50px 220px; } .sitename { margin-bottom: 10px; font: 20px Arial; } nav { display: flex; width: 600px; border: 1px solid black; } nav a { padding: 10px; color: blue; text-decoration: none; font: 15px Arial; } nav a:hover, nav a.active { color: red; text-decoration: underline; } main h1 { font: 20px "Times New Roman"; } main p { margin: 10px 0; text-align: justify; font: 15px Arial; }

実践的な課題

次のリンク 1.zip からレイアウトをダウンロードしてください。 ブラウザで開き、このサンプルに基づいてページを再現してください。

次のリンク 2.zip からレイアウトをダウンロードしてください。 ブラウザで開き、このサンプルに基づいてページを再現してください。

日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否