2

3つの入力と1つの画像(xyとzの測定に関連)があります。それらはすべてかなり自発的に配置されているので、正確にするために左と上のピクセル値を使用しています。これまで、相対ポジショニングを使用してきました。

私の問題は、チェックボックスを変更すると、z入力を非表示にして画像を変更することです。私がこれをするとき、すべては恐ろしい方法で動き回ります。また、ページの下部に十分な空白があり、画像に負の上部値を使用している可能性があります。

絶対測位などを使用する必要がありますか?

ありがとう、

リック

フィドル:http ://jsfiddle.net/WY2DX/52/(SCSSの使用はCSSの問題である可能性があります:s)

4

3 に答える 3

3

要素を追加および削除する必要があると仮定すると、おそらく相対的な配置を使用するべきではありません。相対とは、配置に関して要素がDOMから削除されないことを意味します。したがって、ある要素のサイズと位置が次の要素に影響します。

10ステップでCSSポジショニングを学ぶは、さまざまなポジショニング方法の概要を説明する優れたチュートリアルです。あなたが探しているのは、親コンテナの場合はステップ4、次にx、y、zラベルの場合です。position:relativeposition:absolute

編集:

あなたの例がどのように機能するのか完全にはわかりませんが、ラベルが本当に自発的に配置されることを意図しているのか、それとも画像がそうであるのか疑問に思います。また、ラベルを通常の位置に配置position:absoluteし、画像に使用することを検討することもできますか?

http://jsfiddle.net/vh5pY/3/

于 2012-04-26T16:53:30.713 に答える
1

使用しているものの基本的なマークアップ/cssセットアップを証明できましたか?

しかし、はい、両方の問題は、要素を元の位置に対して相対的に配置するため、[position:relative;]を使用することによって引き起こされているようです。つまり、要素'A'が元々0、0(X、Y)に存在し、{position:relative; 左:120px;、上:120px; }、要素'A'は120、120(X、Y)に再配置されますが、それでも0,0(X、Y)で'物理スペース'を占有します。これにより、要素の1つを非表示にしたり削除したりすると、その「物理スペース」は使用されなくなり、残りのコンテンツは変更に対応するためにシフトします。

これを回避するために絶対測位を使用することもできますが、使用状況によっても異なります。

于 2012-04-26T16:54:09.190 に答える
1

親コンテナの相対位置と各子アイテムの絶対位置を使用します。そうすれば、子要素を追加または削除しても、その兄弟には影響しません。

于 2012-05-28T10:19:08.967 に答える