防止绝对定位元素与文本重叠

18

我这里有一个独特的情况。

基本上,我有一个绝对定位的文本块,由于设计限制,必须进行绝对定位。

另外,我有我的其他文本,它通常是相对定位的。但是,我需要防止我的普通文本与我的原始文本重叠。

只使用HTML和内联CSS,是否可能实现这一点?我无法访问JavaScript或外部/head相关的CSS;只有内联样式可用。我已经用此jsFiddle创建了我的CSS的简化版本。


绝对定位文本的高度是固定的吗? - David Tang
这是完全可以实现的,但由于绝对定位的本质,需要额外的工作。在 jsfiddle 示例中,如何防止重叠发生?您是否希望绕过绝对定位块的某种自动换行? - Matt Ball
除非您知道绝对定位的 div 的确切尺寸,否则我认为在您的限制条件下没有方法。 这些尺寸是已知的吗? - thirtydot
@thirtydot 宽度为541像素,高度为34像素,如果有影响的话。 - Kevin Ji
@mc10: @Steve Bennett已经在做我想做的事情了:http://jsfiddle.net/VKYwD/10/ - 虽然这没有什么意义:为什么你不能只是从div中删除 position: absolute?我不认为我理解得很好.. - thirtydot
显示剩余2条评论
1个回答

13

是否可以创建另一个div(div2),使其重叠绝对定位的div(div1),但本身是不可见的?这样文本的其余部分就会避免重叠div2...

在这里勾勒出草图: http://jsfiddle.net/VKYwD/8/

不过您的限制并不是很清楚。


那听起来很有趣,你能详细说明一下吗? - Kevin Ji
新元素的大小必须与绝对定位元素的大小 完全 相同吗? - Kevin Ji
宽度为541像素,高度为34像素,但是随着我在绝对定位元素中添加更多文本,这可能会有所变化,因此最好的解决方案是能够适应我可以手动放入<div>中的不同宽度和高度。 - Kevin Ji
好的,新元素必须“至少与”绝对定位的元素一样大。就像在地上放一块透明塑料来防止人们走过你的艺术品一样。如果太小了,它就无法保护它。如果太大了,那没关系。 - Steve Bennett
当您需要将绝对定位的元素放置在文本底部时怎么办? - pilau
不太美观,我做了一个使用包装器和伪元素的版本,请参见(http://jsfiddle.net/429to664/)。基本上,您需要编写`<div class = wrapper> <div class = absolutish> ... </ div> </ div>`。 - Orwellophile

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接