position: absolute
フローから要素がポップされ、隣接する要素との相互作用が停止することはわかっています。
これを達成するために他にどのような方法がありますか?
position: absolute
フローから要素がポップされ、隣接する要素との相互作用が停止することはわかっています。
これを達成するために他にどのような方法がありますか?
回答:
なし?
つまり、でレイアウトから完全に削除する以外は、それだけdisplay: none
だと確信しています。
position: absolute
実行可能な解決策ではない特定の状況に直面していますか?
position: absolute
スクロール時に再描画が発生しますが、これはモバイルでのパフォーマンスに悪影響を
display: none
フローからだけでなく、要素を完全に削除します。
ありdisplay: none
ますが、それはあなたが探しているものより少し多いかもしれないと思います。
display: none
無意味な場所(画面の上部、タブを覆っている)に表示されます。少なくともそのブラウザでは、表示されていない要素は本当に位置がないようです。
position: fixed;
あなたが言うように、フローから要素を「ポップ」します。:)
position: absolute
ポジションを伴う必要があります。例えばtop: 1rem; left: 1rem
position: fixed
ただし、ドキュメントフローに従って通常表示される場所に要素を配置しますが、その後は移動しません。また、次の要素がその上にシフトするように、高さを(domに関して)0pxに効果的に設定します。
position: fixed; z-index: 1
次の要素の上に「ポップ」するように設定(または必要なz-index)できるので、これはかなりクールです。
これは、たとえば、スクロールしたときに上部に留まる固定位置ヘッダーに特に役立ちます。
この質問は数年前のものですが、あなたがやろうとしているのは、画像のような大きな要素がdivの高さに干渉しないようにすることです。
似たようなものに出くわしました。画像をdivでオーバーフローさせたいのですが、テキストの文字列の最後に配置したかったので、どこにあるのかわかりませんでした。
私が理解した解決策は、margin-bottom:-elementの高さを配置することでした。したがって、画像の高さが20pxの場合、
margin-bottom: -20px;
vertical-align: top;
例えば。
そうすれば、それはdivの外側に浮かび、文字列の最後の単語の隣にとどまりました。