📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
ページの作成:「== 概要 == divタグは、HTMLにおける基本的なブロックレベル要素の1つである。<br> コンテンツをグループ化して、論理的なセクションを作成するために使用する。<br> <br> セマンティクスの観点から、header、nav、main、article、section等の意味的要素の使用することを推奨する。<br> <br> divタグは、これらの意味的要素で表現できない場合のフォールバックと…」 |
|||
| (同じ利用者による、間の2版が非表示) | |||
| 3行目: | 3行目: | ||
コンテンツをグループ化して、論理的なセクションを作成するために使用する。<br> | コンテンツをグループ化して、論理的なセクションを作成するために使用する。<br> | ||
<br> | <br> | ||
セマンティクスの観点から、header、nav、main、article、section等の意味的要素を使用することを推奨する。<br> | |||
<br> | |||
divタグは、これらの意味的要素で表現できない場合のフォールバックとして使用するのが最適である。<br> | divタグは、これらの意味的要素で表現できない場合のフォールバックとして使用するのが最適である。<br> | ||
<br> | <br> | ||
| 23行目: | 22行目: | ||
<!-- スタイリングの例 --> | <!-- スタイリングの例 --> | ||
<div class="container"> | <div class="container"> | ||
<div class="header"> | <div class="header">ヘッダ</div> | ||
<div class="content">メインコンテンツ</div> | <div class="content">メインコンテンツ</div> | ||
</div> | </div> | ||
<!-- スタイル定義 --> | |||
<style> | <style> | ||
.container { | .container { | ||
| 37行目: | 37行目: | ||
padding: 20px; | padding: 20px; | ||
} | } | ||
</style> | |||
</syntaxhighlight> | |||
<br> | |||
このような構造化されたマークアップにより、以下に示すメリットが得られる。<br> | |||
* コードの可読性が向上する。 | |||
* 保守性が高まる。 | |||
* レスポンシブデザインの実装が容易になる。 | |||
* 将来的な拡張性が確保される。 | |||
<br> | |||
<u>※注意</u><br> | |||
<u>class属性の値は必ずスタイル定義と一致させる必要がある。</u><br> | |||
<u>HTMLとCSSは常に対応関係を保つようにする必要がある。</u><br> | |||
<br> | |||
<u>未定義のクラスが存在する場合、以下に示すような問題が発生する。</u><br> | |||
* スタイルが適用されず、意図したデザインにならない。 | |||
* 他の開発者が混乱する可能性がある。 | |||
* コードの保守性が低下する。 | |||
<br><br> | |||
== 使用例 == | |||
以下の例では、一般的なWebサイトのレイアウトを示している。<br> | |||
<br> | |||
各divには明確な役割があり、それぞれにクラス名が付けられている。<br> | |||
また、コメントによって各セクションの目的が明確になっており、CSSでは基本的なレイアウトとスタイリングを定義している。<br> | |||
<br> | |||
<syntaxhighlight lang="html"> | |||
<!-- サイト全体を包むコンテナ --> | |||
<div class="site-wrapper"> | |||
<!-- ヘッダーセクション: ロゴとナビゲーションを含む --> | |||
<div class="header"> | |||
<!-- ロゴを配置するエリア --> | |||
<div class="logo"> | |||
<img src="logo.png" alt="サイトロゴ"> | |||
</div> | |||
<!-- ナビゲーションメニュー --> | |||
<div class="nav-menu"> | |||
<a href="#home">ホーム</a> | |||
<a href="#about">概要</a> | |||
<a href="#contact">お問い合わせ</a> | |||
</div> | |||
</div> | |||
<!-- メインコンテンツエリア: 2カラムレイアウト --> | |||
<div class="main-content"> | |||
<!-- 左カラム: 記事一覧 --> | |||
<div class="content-left"> | |||
<!-- 記事カード --> | |||
<div class="article-card"> | |||
<h2>記事タイトル</h2> | |||
<p>記事の概要テキストがここに入ります。</p> | |||
</div> | |||
</div> | |||
<!-- 右カラム: サイドバー --> | |||
<div class="content-right"> | |||
<!-- プロフィールウィジェット --> | |||
<div class="profile-widget"> | |||
<img src="profile.jpg" alt="プロフィール画像"> | |||
<p>プロフィール説明文</p> | |||
</div> | |||
</div> | |||
</div> | |||
<!-- フッタセクション --> | |||
<div class="footer"> | |||
<!-- コピーライト情報 --> | |||
<div class="copyright"> | |||
<p>© 2024 サンプルサイト</p> | |||
</div> | |||
</div> | |||
</div> | |||
<!-- スタイル定義 --> | |||
<style> | |||
/* サイト全体のコンテナスタイル */ | |||
.site-wrapper { | |||
max-width: 1200px; | |||
margin: 0 auto; | |||
padding: 0 15px; | |||
} | |||
/* ヘッダセクションのスタイル */ | |||
.header { | |||
display: flex; | |||
justify-content: space-between; | |||
align-items: center; | |||
padding: 20px 0; | |||
border-bottom: 1px solid #eee; | |||
} | |||
/* ナビゲーションメニューのスタイル */ | |||
.nav-menu { | |||
display: flex; | |||
gap: 20px; /* メニュー項目間の間隔 */ | |||
} | |||
.nav-menu a { | |||
text-decoration: none; | |||
color: #333; | |||
padding: 5px 10px; | |||
transition: color 0.3s ease; | |||
} | |||
.nav-menu a:hover { | |||
color: #007bff; /* ホバー時の色変更 */ | |||
} | |||
/* メインコンテンツエリアの2カラムレイアウト */ | |||
.main-content { | |||
display: flex; | |||
gap: 30px; | |||
margin: 40px 0; | |||
} | |||
/* 左カラムのスタイル (記事一覧) */ | |||
.content-left { | |||
flex: 2; /* 右カラムより広いスペースを確保 */ | |||
} | |||
/* 右カラムのスタイル (サイドバー) */ | |||
.content-right { | |||
flex: 1; | |||
} | |||
/* フッタセクションのスタイル */ | |||
.footer { | |||
text-align: center; | |||
padding: 20px 0; | |||
background-color: #f5f5f5; | |||
} | |||
/* ロゴエリアのスタイル */ | |||
.logo { | |||
max-width: 200px; | |||
} | |||
.logo img { | |||
width: 100%; | |||
height: auto; | |||
} | |||
/* 記事カードのスタイル */ | |||
.article-card { | |||
padding: 20px; | |||
border: 1px solid #eee; | |||
border-radius: 8px; | |||
margin-bottom: 20px; | |||
box-shadow: 0 2px 4px rgba(0,0,0,0.1); | |||
} | |||
.article-card h2 { | |||
margin: 0 0 10px 0; | |||
font-size: 1.5em; | |||
color: #333; | |||
} | |||
.article-card p { | |||
margin: 0; | |||
color: #666; | |||
line-height: 1.6; | |||
} | |||
/* プロフィールウィジェットのスタイル */ | |||
.profile-widget { | |||
padding: 20px; | |||
background-color: #f9f9f9; | |||
border-radius: 8px; | |||
text-align: center; | |||
} | |||
.profile-widget img { | |||
width: 120px; | |||
height: 120px; | |||
border-radius: 50%; | |||
margin-bottom: 15px; | |||
} | |||
.profile-widget p { | |||
color: #555; | |||
line-height: 1.4; | |||
} | |||
/* コピーライトのスタイル */ | |||
.copyright { | |||
font-size: 0.9em; | |||
color: #777; | |||
} | |||
.copyright p { | |||
margin: 0; | |||
} | |||
</style> | </style> | ||
</syntaxhighlight> | </syntaxhighlight> | ||