0

これが私のコードの例を使ったサンプルフィドルです:

http://jsfiddle.net/V5KHy/2/

私が抱えている問題は、クラスを持つdivにあります:

col r no-padding

計算された css では、次のように評価されます。

.cols.two.alt > .col.r {
      padding: 0 10px;
      float: right;
      width: 27%;
}

この div が最初の ul の隣の上ではなく右下にあるのはなぜですか?

4

2 に答える 2

0

これは、HTML に要素を配置した順序が原因で発生しています。要素をフロートすると、その前にあるものではなく、その後にあるものに対してのみフロートします。したがって、次のような構造がある場合:

<ul>
    <!-- stuff -->
</ul>
<div style='float: right;'>
    <!-- stuff -->
</div>

div は常にul のに表示されます。これは、HTML マークアップでこのように編成されているためです。div を ul の右側に配置する場合は、順序を変更する必要があります。

<div style='float: right;'>
    <!-- stuff -->
</div>
<ul>
    <!-- stuff -->
</ul>

これにより、div が ul の右側に配置されます。コンテンツをフローティングする場合は、横に配置したいものの前にフローティングする必要があることを常に覚えておいてください。

于 2013-09-06T03:09:54.360 に答える