【发布时间】:2014-07-10 13:30:34
【问题描述】:
我正在尝试仅使用 html/css 相对于绝对定位输入框来定位标签。
html是由代码生成的,它会输出一个这样的输入框:
<input type="text" style="position: absolute; top: 200px; left: 200px;"></input>
然后标签有一个具有 4 个可能值的类,左、上、右和下。
<input type="text" style="position: absolute; top: 200px; left: 200px;">
<label class="top">Client Forename</label>
</input>
如果标签定位在右边,那么标签需要到输入框的右边等等等等。
我对 CSS 的了解是,父级通常具有相对位置,子级是绝对位置,允许子级相对于父级定位在任何位置。
但是由于输入已经被设置为绝对,我不知道如何实现这一点。
谁能帮忙?
【问题讨论】:
-
你真的不应该有一个
labelinside一个input -
是的,我同意,正如你所看到的那样,我正在竭尽全力解决这个问题。
-
@MichaelBellamy parent 不需要是
position:relative,它只需要是一个定位元素。即你可以绝对定位一个元素,其父元素的位置为relative,absolute,fixed等,而不是static。 -
<input>元素的结束标签是禁止的。他们是空的。您在输入中没有标签。输入后有一个标签,然后是一个无效的结束标签。 -
@MichaelBellamy 看看下面詹姆斯的回答。在输入中包含标签是无效的,浏览器会将它们呈现为兄弟而不是位于输入中的标签,因此您需要按照 James 的建议将它们包装在一个共同的父级中!