不要显示元素标签,而是以嵌套的html格式显示元素

时间:2015-09-30 15:57:46

标签: html css

在php生成的网站上,我有像

这样的HTML源代码
<label for="fieldName">
     Label Text
    <input id="fieldName" class="textField" (...) name="fieldName"></input>
</label>

我的问题是我想为标签文本设置display: none,但仍应显示输入字段。只有CSS可用,我无法更改HTML结构。

我尝试为标签节点设置display: none,然后为输入字段设置display: block !important,但这不起作用。我也不能引用文本本身,因为它不包含在<p>或类似的内容中。我找到的唯一解决方案是使用for:属性的标签节点,但标签节点中没有包含输入节点。

3 个答案:

答案 0 :(得分:0)

据我所知,没有办法制作显示的子元素:none visible ...所以你可以尝试使用visibility属性....缺点是,隐藏元素的宽度保持不变..因此,它使输入重叠。

希望有助于作为一个起点!

&#13;
&#13;
label {
  visibility: hidden;
}
input {
  left: 0;
  visibility: visible;
  position: absolute;
}
&#13;
<label for="simpleQuery">
  Label Text
  <input id="simpleQuery" class="textField" (...) name="simpleQuery"></input>
</label>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

您只需从标签标记(as it should be

中获取元素
<label for="simpleQuery">Label Text</label>
<input id="simpleQuery" class="textField" (...) name="simpleQuery"></input>

答案 2 :(得分:0)

您可以使用同样有效的html结构:

   <label for="fieldName">Label Text</label>
   <input id="fieldName" class="textField" (...) name="fieldName"></input>

并且可以隐藏标签而不是表单字段。