1

した後

$view.offset({
   left : X, //X is the same each time
   top : this.y
});
console.log($view.offset()); //outputs what it should

いくつかのオブジェクトに対して。私は(firebugで)次のhtmlコードを見ました

<div id="4017" class="text-block" style="position: relative; top: 2px; left: 22px;">
<div id="4043" class="text-block" style="position: relative; top: 41px; left: -64px;">
<div id="4053" class="text-block" style="position: relative; top: 80px; left: -95px;">
<div id="4081" class="text-block" style="position: relative; top: 119px; left: -135px;">

leftはすべての div で同じである必要があります (表示されるので、leftが各 で等しい場合div)。すべての div で同じように表示されているにもかかわらずleft、それぞれが同じではないのはなぜですか?divleft

CSSには次のものがあります:

div.text-block {
   display: inline-block;
}

前もって感謝します!

UPD: div は、他の 3 つの div の横にあります。

<div id="app-container">
    <div id="canvas-container">
        <div id="canvas">
            <!-- divs are located here -->
        </div>
     </div>
</div>

それぞれの CSS には次のものがあります。

#canvas {
  position: absolute;
  background-color: white;
  width: 100%;
  height: 100%;
}

#app-container {
  height: auto !important;
  min-height: 100%;
}

#canvas-container {
  position: absolute;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
4

1 に答える 1

1

jQueryのドキュメントで述べたように、

.offset(coordinates)

説明:ドキュメントを基準にして、一致した要素のセット内のすべての要素の現在の座標を設定します。

したがって、要素がドキュメントに対して位置(0、0)に配置されていない他の要素にある場合は、オフセットが適用されます。


編集

同じ左の値を持つ相対的に配置されたインライン要素:

デモ画像

于 2012-11-22T13:35:32.220 に答える