2

ラップされたコンテンツが左から右へのフローから右から左へのフローに切り替わる流動的なレイアウトを作成しようとしています。以下の例を参照してください。

1   2   3   4   5
10  9   8   7   6
11  12  13  14  15
20  19  18  17  16

マークアップとスタイルhttp://codepen.io/2ne/pen/IiGCx

フレックスボックスとマルチカラムレイアウトを試しましたが、どれもうまくいきませんでした. HTMLは動的であるため、理想的にはHTMLを変更しない純粋なcssソリューションで誰かが私を助けてくれることを願っています。効率的な javascript/jquery ソリューションではない場合。

これが難しい理由は、幅が固定されていないため、ブラウザーがいつコンテンツをラップしているのかわからないためです。

li {
  width: 160px;
  float: left;
} 

あなたが提供できる助けに感謝します。

<ul class="clearfix">
  <li>1</li>
  <li>2</li>
  <li>3</li>
  <li>4</li>
  <li>5</li>
  <li>6</li>
  <li>7</li>
  <li>8</li>
  <li>9</li>
  <li>10</li>
  <li>11</li>
  <li>12</li>
  <li>13</li>
  <li>14</li>
  <li>15</li>
  <li>16</li>
  <li>17</li>
  <li>18</li>
  <li>19</li>
  <li>20</li>
</ul>
4

2 に答える 2

1

これは HTML を変更しますが、クラスを追加するだけです。本当に何も変更できない場合は、JS/jQuery を使用してこれらのクラスを追加できますが、それほど難しくはありません。

<style>
.r{
  float:right;
  width:20%;
}
.l{
  float:left;
  width:20%;
}
</style>

<ul class="clearfix">
  <li class="l">1</li>
  <li class="l">2</li>
  <li class="l">3</li>
  <li class="l">4</li>
  <li class="l">5</li>
  <li class="r">6</li>
  <li class="r">7</li>
  <li class="r">8</li>
  <li class="r">9</li>
  <li class="r">10</li>
  <li class="l">11</li>
  <li class="l">12</li>
  <li class="l">13</li>
  <li class="l">14</li>
  <li class="l">15</li>
  <li class="r">16</li>
  <li class="r">17</li>
  <li class="r">18</li>
  <li class="r">19</li>
  <li class="r">20</li>
</ul>
于 2013-05-23T09:19:17.273 に答える