这是我的CSS:http://pastebin.com/UZdSssK8 这是我的HTML:http://pastebin.com/vJcB9nLu
每当我将Firefox窗口向下拖动时,#centre就会开始与div.left重叠。 #centre应略微向左偏心。我希望它能够流畅地移动,但从不与左侧的任何文本重叠。
由于
答案 0 :(得分:1)
然而我建议完全失去定位,因为@JackWilson建议,应该谨慎使用AP(绝对定位),除非你在UI类型界面之后再进行整体布局,否则不建议使用AP(绝对定位) - 然后当最好将它放在一个相对定位的元素中,以便从已经在流中的元素中获取它的位置。
我为背景着色了所以你可以"看到"在开发过程中这通常是一个好主意。顺便说一下,你也不需要在浮动或AP的元素上指定显示块,一旦应用了这些属性,它们就会自动成为块
答案 1 :(得分:0)
您不能以这种方式使用绝对定位。绝对定位会从文档的正常流程中删除元素。这就好像元素不会像通常那样相互影响 - 因为在这种情况下,div通常不会与另一个div重叠。
不幸的是,如果不了解你实际上是如何试图摆脱这些因素的话,我不能给你一个替代方案。你能解释一下还是画出你想要做的事情的图表?
答案 2 :(得分:0)
工作样本:http://jsfiddle.net/dkrEK/
试试这个:
<强> HTML 强>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<link type="text/css" href="ssc.css" rel="stylesheet">
<title>kd</title>
</head>
<body>
<div class="left">
<span class="head">
<a href="#">kd</a>
</span>
<div class="snap">
about me blah blah blah blah blah blah test
</div>
</div>
<div id="centre">
test <br />
test
</div>
</body>
</html>
<强> CSS 强>
.head {
font-family:courier-new,monospace;
font-size:200%;
}
.head > a {
text-decoration: none;
}
div.left {
top:35%;
position:absolute;
margin-right:50px;
width: 200px;
float: left;
}
#centre {
top:38%;
font-family:courier-new,monospace;
font-size:80%;
position:absolute;
float: right;
margin-left: 200px;
}
div.snap {
font-family:courier-new,monospace;
font-size:80%;
padding-top:5px;
width: 95%;
left:2%;
display:block;
}