だから、ここ数ヶ月、私は独学でウェブデザインを学んできました。もちろん、学ぶことはまだまだたくさんありますが、これまでに知っていることをしっかりと把握できていると感じています。私が最近疑問に思っていることの 1 つは、特に絶対配置を使用することになった場合に、div がどれほど必要かということです。たとえば、最近、次のコードを書きました。
<section id="header-section">
<header class="main-header">
<h1>The Voice of Jeremy Donahue</h1>
<nav class="main-navigation">
<ul>
<li><a href="http://www.thevoiceofjeremydonahue.com/about">About</a></li>
<li><a href="http://www.thevoiceofjeremydonahue.com/contact">Contact</a></li>
</ul>
</nav>
</header>
</section>
多くのページのソース コードを読むと、一般的にこのようにグループ化されているか、非常に似ているように思えます。もちろん、デザイナーとして、ユーザー エクスペリエンスを念頭に置き、コードのセマンティックを維持しながら、芸術的なライセンスを持っていて、好きなようにページを配置できると思います。
しかし、多くの場合、{position: absolute} プロパティを使用して要素を配置し、含まれている div を完全に無視してしまいます。したがって、たとえば H1 があり、説明したように配置する予定がある場合、なぜわざわざ div に配置する必要があるのでしょうか? また、そのように配置する他の要素についても同じです。それらを独立した要素として持たないのはなぜですか?セマンティックな理由からそうするのが良いのか、それともこのように物事をグループ化するのがベストプラクティスと考えられているだけなのか、私は疑問に思っています. 私がこれを説明した方法で明確になったことを願っています。
できるだけわかりやすくするために、これまでにこのページの特定の繰り返しに適用した css を次に示します。(明らかに) 完成にはほど遠いですが、このヘッダー セクションに適用した絶対的な配置をいくつか確認できます。
/*global*/
* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-o-box-sizing: border-box;
box-sizing: border-box;
}
html {
height: 100%;
}
body {
background: rgb(234, 234, 234);
}
body, .container {
min-height: 100%;
}
.container {
background: white;
margin-top: 6.25em;
}
header {
position: absolute;
top: 0.625rem;
background: transparent;
text-align: center;
}
ul {
list-style-type: none;
}
a {
text-decoration: none;
}
/*typography*/
h1 {
font-family: 'Parisienne', cursive;
font-size: 2.5rem;
color: #2713e7;
position: relative;
top: 1.25rem;
}
/*lists*/
.main-navigation {
position: relative;
top: 2.5rem;
}
.main-navigation li {
position: absolute;
top: 10px;
display: inline-block;
margin-right: 10%;
font-family: 'Atomic Age', cursive;
font-size: 1.5625rem;
}
/*borders*/
.main-navigation {
border: 2px solid black;
}
.main-navigation li {
display: inline-block;
border: 2px solid black;
}