2012-02-20 4 views
0

私は1140グリッドシステムを使用しており、基本的な質問があります:要素を12列未満にするには空のdivを「スペーサー」として使用する必要がありますか?グリッドシステムで空のdivを使用する

は、ここで私は達成するために探していますモックアップだ:

enter image description here

は基本的に、私は唯一の主要エリアの下にあることをフッターにしたいが、独自の行インチ私がこれを行うために見ることができる唯一の方法は、divを "スペーサー"として使用して、フッターを私が望むところにインデントすることです。これはその仕組みですか?

ここでは、コード(あなたは何が起こっているのを見て、プレビュー画面を大きくする必要があります)です:http://jsfiddle.net/saltcod/87DZC/

<link rel="stylesheet" href="https://raw.github.com/robertcedwards/HTML-5-Boilerplate-1140-Grid/master/css/1140.css" type="text/css" media="screen" /> 

<div id="main"> 
<h1 class="site-title">Site Title</h1> 
    <div class="container"> 
     <div class="row"> 
      <div id="sidebar" class="threecol"> 
       <h4> Sidebar - Three cols</h4> 
       <ul> 
        <li> Item one</li> 
        <li> Item two</li> 
        <li> Item three</li> 
        <li> Item four</li> 
        <li> Item five</li> 
      </div> 
      <div id="primary" class="ninecol last"> 
       <h3>Nine columns</h3> 
       <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse vel lectus non nisi pellentesque porta sed vel ante. Aliquam ut elit nulla, ac fermentum diam. Donec convallis dui in felis bibendum mollis. Quisque egestas purus libero, ac vehicula tortor. Sed tristique est sed libero pulvinar nec luctus metus vulputate. Etiam ac tempor nunc. Morbi sit amet neque lacus, ac lacinia nisl. Nullam imperdiet ornare sem, non viverra ipsum hendrerit id. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Cras vel leo nisl. Ut bibendum ornare urna eget lacinia.</p> 

       <p>Aliquam ante lectus, ornare a sollicitudin tincidunt, convallis a magna. Sed fermentum lacus id nisl vestibulum interdum. Ut mattis justo in mi vulputate porttitor. Proin sagittis, urna quis blandit semper, velit nisi aliquet dui, et placerat leo purus a erat. Donec congue, elit a eleifend facilisis, lectus sapien placerat augue, in feugiat ante purus sodales libero. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean eget lacus sed enim euismod faucibus. Pellentesque facilisis arcu sed leo gravida a ultricies nisi cursus. Quisque venenatis mollis ligula sed semper. Nullam ac sem purus, non tincidunt velit. In hendrerit, odio sit amet tempus pharetra, libero orci suscipit tellus, eu mollis augue dui a nulla. Vivamus dignissim elit sit amet est mollis sed aliquet lorem posuere. Nulla varius purus quis elit pellentesque et auctor nunc gravida. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Sed nibh erat, aliquet a luctus vel, pulvinar nec neque.</p> 

       <h2> If I want three blocks inside #primary, that's easy: </h2> 
       <div class="fourcol bottom">A</div> 
       <div class="fourcol bottom">B</div> 
       <div class="fourcol bottom last">C</div> 

     </div> <!-- [ .row ] --> 

     <footer class="row twelvecol"> 
      <h3> But if I want three blocks in my footer, I need to 'indent' it with an empty div?</h3> 
      <div class="threecol empty bottom"> [ empty div ]</div> 
      <div class="threecol bottom">A</div> 
      <div class="threecol bottom">B</div> 
      <div class="threecol bottom last">C</div> 
      <p> Isn't this a bit like using a spacer gif in a table layout? </p> 
     </footer> 
    </div> 
</div> 

答えて

2

は、ビットテーブルレイアウトにスペーサーGIFを使用してのように、このないです?

はい、本来、divは意図したスペースを作成します。 CSSグリッドフレームワークを使用する場合は、それに応じて空のdivを適切な列クラスと組み合わせて使用​​するのが一般的です。もちろん、相対的な位置付けなどの代替ソリューションを考え出すことはできますが、なぜ問題が複雑になるのでしょうか。コードの最後の部分は、このように見えるはずです。

<footer class="row twelvecol"> 
     <div class="threecol first"></div>   
     <div class="threecol bottom">A</div> 
     <div class="threecol bottom">B</div> 
     <div class="threecol bottom last">C</div> 
    </footer> 
+0

大変感謝しています。私はそれを行う別の(簡単な)方法を見つけることができませんでしたので、空のdivを使って物事を整理すると仮定しました。私に確認してくれてありがとう。 – saltcod

+0

問題ありません。私はそれを明確にするのを助けることができてうれしい。 –

+0

**トレンドの**サイズに等しい** margin-left **を追加する** offset **クラスを作成し、** A ** divに適用することができます。私はそれが古い質問だと知っていますが、 "空のdivソリューション"は非常に汚いです。 – gyo

関連する問題