2012-02-14 119 views
3

如何“杀死”此示例左上角的空格,并且实际上让“文本文本文本”使用该空格,并有效地覆盖占位符div?当前(非工作)代码在DIV上和周围环绕文字

例如:http://jsfiddle.net/bYZHd/

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
    <style> 
     #parent 
     { 
      background-color: Orange; 
      height: 600px; 
      width: 600px; 
     } 

     #placeholder 
     { 
      background-color: Navy; 
      height: 500px; 
      width: 100px; 
      position: relative; 
      top: 100px; 
      left: 0px; 
      float: left; 
      display: inline-block; 
     } 
     #content 
     { 
      display: inline; 
     } 
    </style> 
</head> 
<body> 
    <form id="form1" runat="server"> 
     <div id="parent"> 
      <div id="placeholder"></div> 
      <div id="content"> 
      text text text text text text text text text text text text text text text text text text text text text 
      text text text text text text text text text text text text text text text text text text text text text 
      text text text text text text text text text text text text text text text text text text text text text 
      text text text text text text text text text text text text text text text text text text text text text 
      text text text text text text text text text text text text text text text text text text text text text 
      text text text text text text text text text text text text text text text text text text text text text 
      </div> 
     </div> 
    </form> 
</body> 
</html> 

图形我想要的东西:enter image description here

+0

好的问题:) – 2012-02-14 01:05:18

回答

1

我已经做了在这个问题上多一点研究,并提出了一个替代的答案。

我使用的答案来自here,但可以从this Stack Overflow question找到更全面的可能解决方案列表。首先,请确认我已经完成了你想要的任务。 http://jsfiddle.net/bYZHd/7/

我使用了包含“推动器”元素的解决方案。在父缓冲区外放置一个空的div,给它一个高度,将它浮动到左边并清除它。然后,占位符元素将不必调整其位置。

一般来说,在CSS元素上方缠绕文本并不容易。链接中给出的答案提到必须使用JS手动调整推杆元件的高度。但就你而言,你确切知道你的占位符距离顶端有多远,所以你可以对高度进行硬编码。

下面是编辑的代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
    <style> 
     #parent 
     { 
      background-color: Orange; 
      height: 600px; 
      width: 600px; 
     } 

     #buffer 
     { 
      float: left; 
      height: 80px; 
     } 
     #placeholder 
     { 
      background-color: Navy; 
      height: 500px; 
      width: 100px; 
      position: relative; 
      top: 0px; 
      left: 0px; 
      float: left; 
      clear: left; 
      display: inline; 
     } 
     #content 
     { 
      display: inline; 
     } 
    </style> 
</head> 
<body> 
    <form id="form1" runat="server"> 
     <div id="buffer"></div> 
     <div id="parent"> 
      <div id="placeholder"></div> 
      text text text text text text text text text text text text text text text text text text text text text 
      text text text text text text text text text text text text text text text text text text text text text 
      text text text text text text text text text text text text text text text text text text text text text 
      text text text text text text text text text text text text text text text text text text text text text 
      text text text text text text text text text text text text text text text text text text text text text 
      text text text text text text text text text text text text text text text text text text text text text 
     </div> 
    </form> 
</body> 
</html> 
+0

这正是我正在寻找的!它正是我想要它做的。 – codechurn 2012-02-16 01:43:44

1

我已经更新您的jsfiddle代码

是你要找这个是什么为

http://jsfiddle.net/bYZHd/3/

要做到这一点,如果你想保持现有的CSS

您需要将您的占位符的内容DIV里面或者你可以定位你的占位符绝对像图所示

http://jsfiddle.net/bYZHd/4/

+0

这推动占位符往下掉父容器的一个例子;占位符的位置应该是固定的,并且文本应该包裹在它周围。 – codechurn 2012-02-14 01:07:22

+0

您使用哪个浏览器来测试它? – 2012-02-14 01:11:42

+0

IE9;但理想情况下,它也应该在基于Webkit的浏览器(Safari,FireFox,Chrome)中工作 – codechurn 2012-02-14 01:19:37

0

你的占位符目前使用位置:相对。这意味着该占位符是理论上占据您的网页的最左上角位置。然后,占位符位置从原始位置偏移100px。但是页面上的其他元素不会改变为环绕。

你想要的是将位置改变为绝对位置。这将做我认为你会希望它做的事情。

http://jsfiddle.net/bYZHd/2/

+0

我做了一些非常相似的事情,但是您会注意到文本不再包裹占位符,因为它现在不在文档流中。 – codechurn 2012-02-14 01:08:33