2017-04-03 4 views
0

年前私はボディタグの下のすべてをクラス "ラッパー"を持つdivに置くことによってウェブサイトを作ったことを学びました。 これは、コンテンツ全体を縦横に揃えることができるため、意味があります(間違いなし)。HTML5/CSS:セクションエレメント内に複数のwrapper-divを使用する利点はありますか?

昨日、私は7:15でこのvideo-tutorial

を見てきた彼は、私が上記説明した技術はもはや使用すべきではないことを伝えます。代わりに、複数のセクションタグとを使用し、内にセクション "ラッパー"のdivをセクションする必要があります。

セクションタグはフルスクリーンで、コンテンツはwrapper-divと揃えることができます。私はこのような構造といじくり回すには、このデモを行った

$color1: rgba(173, 216, 230, 1.0); 
 
html, 
 
body { 
 
    height: 100%; 
 
} 
 

 
body { 
 
    background-color: #bbb; 
 
    margin: 0 1%; 
 
} 
 

 
.wrap { 
 
    width: 100%; 
 
    max-width: 800px; 
 
    margin: 5vh auto; 
 
    background-color: white; 
 
    text-align: center; 
 
} 
 

 
.content .wrap p { 
 
    padding: 20px 5%; 
 
} 
 

 
.footer .wrap { 
 
    background-color: #999; 
 
    color: white; 
 
    font-weight: 900; 
 
    letter-spacing: 1.2px; 
 
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/foundation/6.3.0/css/foundation.min.css" rel="stylesheet" /> 
 
<section class="header"> 
 
    <div class="wrap"> 
 
    <div class="callout secondary"> 
 
     <h1>This is a Top-Headline.</h1> 
 
     <p>This is a Sub-Header.</p> 
 
    </div> 
 
    </div> 
 
</section> 
 

 
<section class="content"> 
 
    <div class="wrap"> 
 
    <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium 
 
     quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium.</p> 
 
    <p>Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra 
 
     nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet 
 
     adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus 
 
     tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna.</p> 
 
    </div> 
 
</section> 
 

 
<section class="footer"> 
 
    <div class="wrap"> 
 
    <p>&copy; 2017 by xyz</p> 
 
    </div> 
 
</section>

私は意味:それは動作します。もちろん...

しかし、私は具体的なメリットを知りません。現在、私はそれが単なるHTMLだと思っています。

一方、私はいくつかの質問をしないでこのアイデアを拒否したくありません。

したがって:

は、誰かが私に1がこのようなネストされたセクションラップ構造を有するの恩恵を受けることができる方法の具体例を示すことができますか?それぞれの目的はどのようなものですか?

+0

依存しますが、クリーナーは – Swellar

+0

うん、より良く、より読みやすいです。それが合理的すぎるように思える唯一の理由です。それは意味があります。そのようにするとレイアウトなどのメリットがあるかもしれないのだろうか... –

+0

あなたが提供したコードに基づいて、Webサイトのデザインが非常に少ない場合を除いて、より多くのコントロールでスタイルできます – Swellar

答えて

1

すべてのコンテンツをwrapperに入れるかどうかは、要件と管理方法によって異なります。

Web2.0のウェブサイトでは、wrapper divを親として、その中のすべてのコンテンツを実行しました。これはfixedの幅のコンテナを与え、コンテンツはページの中央に正しく表示されます。今

しかし、Web3.0以来、私たちは応答し、フルスクリーンのウェブサイトに集中して、時にはそれが複数のwrapperクラス構造を有するこのようなシナリオでは、ページセクションのいずれかに特定または異なるbackground-colorまたはbackground-imageを持つことが必要です救助に来る。コードスニペットで同じアプローチを確認してください。古いアプローチでは、この同じ出力を簡単に得ることはできません。

section { 
 
    padding: 30px 0; 
 
    color: #333; 
 
} 
 

 
.section-1 { 
 
    background: tomato; 
 
    color: #fff; 
 
} 
 

 
.section-2 { 
 
    background: yellow; 
 
} 
 

 
.container { 
 
    width: 90%; 
 
    margin: 0 auto; 
 
} 
 

 
.bg { 
 
    background: url('http://lorempixel.com/output/nightlife-q-c-1024-720-6.jpg') no-repeat center; 
 
    background-size: cover; 
 
    color: #fff; 
 
}
<section class="section-1"> 
 
    <div class="container"> 
 
    <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium 
 
     quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium.</p> 
 
    </div> 
 
</section> 
 
<!-- I need a image as background and then text inside --> 
 
<section class="bg"> 
 
    <div class="container">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium 
 
    </div> 
 
</section> 
 

 
<section class="section-2"> 
 
    <div class="container"> 
 
    <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium 
 
     quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium.</p> 
 
    </div> 
 
</section>

+0

素晴らしいです。 :) 本当にありがとう。 –

+1

CSS2とCSS3です。 CSS 3.0はなく、CSS2のバージョン管理は著者にとっては重要ではありません。 – BoltClock

+0

@BoltClock申し訳ありませんが、web2.0とweb3.0になりました - 私の間違いです。それを修正する:) –

関連する問題