如何从HTML / CSSstream中移除元素?
我知道“位置:绝对”会从“HTML / CSSstream”中popup一个元素,并停止与其邻居进行交互。 还有什么其他的方式来实现呢?
没有?
我的意思是,除了完全用display: none
从布局中删除它,我很确定就是这样。
你是否面对特定的情况position: absolute
不是一个可行的解决scheme?
一个让position:absolute
更可口的诀窍就是使其父母的position:relative
。 那么相对于父母的位置,孩子将是“绝对的”。
的jsfiddle
另一个选项是设置height: 0; overflow: visible;
height: 0; overflow: visible;
到一个元素,虽然它不会真的在stream程之外,因此可能会打破边缘崩溃 。
有display: none
,但我认为这可能比你想要的更多。
浮动它将重新组织stream,但位置:绝对是将其从文档stream中完全移除的唯一方法。
我知道这个问题已经有好几年了,但是我认为你要做的就是把它放到一个大的元素里,像一个图像不会干扰div的高度?
我碰到类似的东西,我想要一个图像溢出一个div,但我希望它在一串文本的末尾,所以我不知道它会在哪里结束。
我想出的一个解决scheme是把margin-bottom:-element的高度,所以如果图像高度为20px,
margin-bottom: -20px; vertical-align: top;
例如。
这样它浮在div的外面,并停留在string中的最后一个字旁边。
position: fixed;
也会像你说的那样“stream行”一个元素。 🙂
position: absolute
必须由一个职位陪同。 例如top: 1rem; left: 1rem
top: 1rem; left: 1rem
position: fixed
但是,会将元素放置在通常根据文档stream出现的地方,但是防止它在那之后移动。 它也有效地将高度设置为0px(关于dom),以便下一个元素向上移动。
这可以很酷,因为你可以设置position: fixed; z-index: 1
position: fixed; z-index: 1
(或者你需要的任何z-index),以便它“popup”下一个元素。
例如,这对于在滚动时位于顶部的固定位置标题特别有用。
尝试使用这个:
position: relative; clear: both;
当我不能使用绝对位置时使用它,例如在打印时使用page-break-after: always;
工作良好只与position:relative
。