以下の内容はhttps://shiroyuki2020.hatenablog.com/entry/introduction_to_css_20より取得しました。


CSS|Flexboxを使ったレイアウト

Flexboxは、モダンなウェブデザインにおいて欠かせないCSSのレイアウト手法です。従来のフロートを使ったレイアウトと比べ、より柔軟で効率的なページ構成を実現できます。本記事では、Flexboxを使った2カラムレイアウトのサンプルコードを紹介します。このコードを通じて、Flexboxの基本的な使い方を学びましょう。Flexboxの特徴や注意点にも触れ、実践的な知識を深めていきます。

Flexboxを使ったレイアウトの例

HTML

<div id="container">
  <header>
    <h1>ウェブサイトのヘッダー</h1>
  </header>
  <div id="main-content">
    <nav id="sidebar">
      <ul>
        <li><a href="#">メニュー1</a></li>
        <li><a href="#">メニュー2</a></li>
        <li><a href="#">メニュー3</a></li>
      </ul>
    </nav>
    <main id="content">
      <h2>メインコンテンツ</h2>
      <p>ここにメインコンテンツが入ります。</p>
    </main>
  </div>
  <footer>
    <p>フッター &copy; 20XX</p>
  </footer>
</div>

CSS

body {
  margin: 0;
  padding: 0;
  font-family: Arial, sans-serif;
}

#container {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

header {
  background-color: #f0f0f0;
  padding: 20px;
}

#main-content {
  display: flex;
  flex: 1;
}

#sidebar {
  flex: 0 0 20%;
  background-color: #e0e0e0;
  padding: 20px;
}

#content {
  flex: 1;
  background-color: #ffffff;
  padding: 20px;
}

footer {
  background-color: #f0f0f0;
  padding: 10px;
  text-align: center;
}

コードの特徴

このコードには以下のような特徴があります。

  • コンテナ全体を縦方向のFlexboxとして設定し、最小高さを画面の高さ(100vh)に設定している。
  • メインコンテンツ部分(サイドバーとコンテンツ)を横方向のFlexboxとして設定している。
  • サイドバーの幅を20%に固定し、メインコンテンツが残りのスペースを埋めるようにしている。
  • flex: 1; を使用して、メインコンテンツ部分が利用可能な垂直スペースを埋めるようにしている。

注意点

Flexboxを使ったレイアウトには以下のような注意点があります。

  • ブラウザの互換性:古いブラウザではFlexboxがサポートされていない場合がある。
  • 複雑なレイアウト:非常に複雑なレイアウトの場合、Gridレイアウトの方が適している場合がある。
  • 学習曲線:Flexboxの概念を理解するのに時間がかかる場合がある。

まとめ

Flexboxは、レスポンシブデザインの実装を容易にし、従来のフロートよりも柔軟なレイアウトを可能にします。このサンプルコードを基に、自身のプロジェクトに合わせてカスタマイズすることで、効率的で美しいレイアウトを実現しましょう。




以上の内容はhttps://shiroyuki2020.hatenablog.com/entry/introduction_to_css_20より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14