non credo che questo può davvero essere realizzato attraverso i CSS nel modo in cui il PO vuole. I CSS semplicemente non funzionano in questo modo.
Un approccio migliore secondo me è quello di fare un passo indietro e guardare il quadro generale. Hai una forma in cui alcuni campi sono obbligatori e altri no. È un buon approccio per fornire all'utente tutti i campi richiesti, o raggruppare insieme i campi richiesti, e tenerli chiaramente separati dai campi opzionali.
è possibile creare una struttura come
<form>
<ul class="required_fields">
<li>
<label>username</label>
<input />
</li>
<li>
<label>email</label>
<input />
</li>
</ul
<ul class="optional_fields">
...
</ul>
</form>
/* CSS */
.required_fields label {font-weight: bold}
.required_fields label:after { content: "*"; color: red } /*more styles for labels*/
Ci sono una serie di vantaggi di questo approccio. Puoi aggiungere e rimuovere elementi dal gruppo 'richiesto' facilmente senza doverli modificare singolarmente. Puoi assegnare la classe 'required' più in alto della catena che vuoi. Se il modulo avesse la classe 'required', allora tutto in esso sarebbe etichettato come richiesto. Ci sono meno posti dove apportare modifiche, se decidete che la classe 'required' dovrebbe essere chiamata qualcos'altro. E in generale questo approccio ti aiuta anche ad organizzare meglio le tue forme. Non dovresti mescolare campi obbligatori e facoltativi.
Si potrebbe fare un ulteriore passo avanti e avere qualche javascript che inserirà l'attributo richiesto anche nei campi di input.
$(".required_fields input").each(function(){
this.setAttribute('required', 'required');
});
Apparentemente le domande e le risposte utilizzano la formattazione, ma i commenti no. Il problema con questo suggerimento è che l'attributo richiesto appartiene all'elemento input, non all'elemento label. Anche nel CSS, meglio solo dicendo: ingresso [necessaria], perché l'unica marcatura valida è: HTML -> richiesto XHTML -> required = "necessaria" required = "false" o qualcosa di simile che non è valida. –
Vedere anche: http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#the-required-attribute –
sì, richiesto = richiesto non è necessario. Ma se poi vuole essere in grado di ottenere tutti i tag etichetta collegati agli input che hanno l'attributo richiesto, non penso sia possibile. È possibile ottenere tutti gli input @required 'input [required]', ma non tutte le etichette a meno che non siano un nodo figlio dell'input, che non è corretto nemmeno in HTML. – Tom