CSS: contrassegnare i campi obbligatori dei form con il contenuto generato

In genere i campi obbligatori dei form vengono contrassegnati con un carattere speciale in evidenza. Non è necessario utilizzare JavaScript per questo scopo se vogliamo evitare di inserire questi marcatori automaticamente: possiamo utilizzare i CSS. Vediamo come.

Abbiamo un semplice form HTML:


<form action="#" method="post">
    <ul>
        <li>
            <label for="name" class="required">Name</label>
            <input type="text" name="name" id="name" />
        </li>
        <li>
            <label for="email" class="required">E-mail</label>
            <input type="text" name="email" id="email" />
        </li>
        <li>
            <label for="phone">Phone</label>
            <input type="text" name="phone" id="phone" />
        </li>
    </ul>
    <p><input type="submit" id="submit" name="submit" value="Send" /></p>
</form>​

La classe required ci permetterà di contrassegnare questi campi utilizzando il contenuto generato CSS:


form li label.required:before {
    content: '*';
    font-size: 1.1em;
    font-weight: bold;
    color: #c00;
    position: relative;
    top: 0.3em;
    left: -1em;
}

form li label.required:after {
    content: '(This field is required)';
    font-size: 90%;
    font-weight: normal;
    color: #666;
    padding-left: 0.5em;
}
​

Potete visionare l'esempio finale in questa pagina.

Torna su