我有一些HTML DIV元素,包含叙述风格的形式。例如:
<div class="narrative">
My name is <input type="text"> and I am <input type="text"> years old.
</div>
有没有办法用CSS检测第一个<input>
元素之前是否有纯文本,这样我可以添加左边距?如果没有,建议如何做到这一点,而不必分类第一次输入或在一个范围内包装纯文本?
它始终不会以纯文本开头:
<div class="narrative">
<input type="text"> is <input type="text"> years old.
</div>
答案 0 :(得分:3)
CSS只能选择元素,而不能选择元素中的单个文本节点。这是你必须通过DOM脚本和CSS做的事情。
答案 1 :(得分:1)
CSS(理想情况下,在所有情况下都显然不受尊重)仅用于表示目的。在input
元素上添加边距所需的是JavaScript。
答案 2 :(得分:0)
不幸的是,没有CSS方法来确定输入是否以文本开头。 您可以使用first-child伪类来定位每个叙事块的第一个输入:
.narrative input:first-child {
margin-left: 20px;
}
此处an example。