Каков хороший способ преодолеть неудачный факт, что этот код не будет работать по желанию:
<div class="required">
<label>Name:</label>
<input type="text">
</div>
<style>
.required input:after { content:"*"; }
</style>
В идеальном мире все необходимые input
получат маленькую звездочку, указывающую, что это поле необходимо. Это решение невозможно, поскольку CSS вставлен после содержимого элемента, а не после самого элемента, но что-то вроде этого было бы идеальным. На сайте с тысячами обязательных полей я могу перемещать звездочку перед входом с одним изменением на одну строку (:after
до :before
), или я могу переместить ее в конец метки (.required label:after
) или перед меткой, или в позицию в поле ввода и т.д.
Это важно не только в случае, если я передумаю, где разместить звездочку повсюду, но и для нечетных случаев, когда макет формы не позволяет звездочке в стандартной позиции. Он также хорошо сочетается с проверкой, которая проверяет форму или выделяет неправильно выполненные элементы управления.
Наконец, он не добавляет дополнительной разметки.
Есть ли хорошие решения, которые имеют все или большинство преимуществ невозможного кода?