Mon HTML a une classe appelée .required
qui est assignée aux champs obligatoires.
Voici le HTML:
<form action="/accounts/register/" method="post" role="form" class="form-horizontal">
<input type='hidden' name='csrfmiddlewaretoken' value='brGfMU16YyyG2QEcpLqhb3Zh8AvkYkJt' />
<div class="form-group required">
<label class="col-md-2 control-label">Username</label>
<div class="col-md-4">
<input class="form-control" id="id_username" maxlength="30" name="username" placeholder="Username" required="required" title="" type="text" />
</div>
</div>
<div class="form-group required"><label class="col-md-2 control-label">E-mail</label><div class="col-md-4"><input class="form-control" id="id_email" name="email" placeholder="E-mail" required="required" title="" type="email" /></div></div>
<div class="form-group required"><label class="col-md-2 control-label">Password</label><div class="col-md-4"><input class="form-control" id="id_password1" name="password1" placeholder="Password" required="required" title="" type="password" /></div></div>
<div class="form-group required"><label class="col-md-2 control-label">Password (again)</label><div class="col-md-4"><input class="form-control" id="id_password2" name="password2" placeholder="Password (again)" required="required" title="" type="password" /></div></div>
<div class="form-group required"><label class="col-md-2 control-label">first name</label><div class="col-md-4"><input class="form-control" id="id_first_name" maxlength="30" name="first_name" placeholder="first name" required="required" title="" type="text" /></div></div>
<div class="form-group required"><label class="col-md-2 control-label">last name</label><div class="col-md-4"><input class="form-control" id="id_last_name" maxlength="30" name="last_name" placeholder="last name" required="required" title="" type="text" /></div></div>
<div class="form-group required"><label class="col-md-2 control-label"> </label><div class="col-md-4"><div class="checkbox"><label><input class="" id="id_tos" name="tos" required="required" type="checkbox" /> I have read and agree to the Terms of Service</label></div></div></div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-primary">
<span class="glyphicon glyphicon-star"></span> Sign Me Up!
</button>
</div>
</div>
</form>
J'ai ajouté ce qui suit à mon CSS;
.form-group .required .control-label:after {
content:"*";color:red;
}
Cela ne donne toujours pas un rouge *
autour des champs obligatoires. Qu'est-ce que j'oublie ici? N'existe-t-il pas un moyen direct dans Bootstrap 3 d'introduire *
les champs obligatoires?
ÉDITER
Les *
conditions générales n'apparaissent pas immédiatement dans une case à cocher. Comment régler ceci?
css
forms
twitter-bootstrap-3
form-fields
idée de génie
la source
la source
Réponses:
Utilisez
.form-group.required
sans espace.Éditer:Pour la case à cocher, vous pouvez utiliser la pseudo classe: not (). Vous ajoutez le * requis après chaque étiquette sauf s'il s'agit d'une case à cocher
Remarque: non testé
Vous devriez utiliser la classe .text ou la cibler sinon probablement, essayez ce html:
Ok troisième édition:
CSS retour à ce qui était
HTML:
la source
bootstrap-theme.css
).::after
. La spéculation CSS de niveau 3 est sortie.En supposant que c'est à quoi ressemble le HTML
Pour afficher un astérisque à droite de l'étiquette:
Ou à gauche de l'étiquette:
Pour faire de beaux gros astérisques rouges, vous pouvez ajouter ces lignes:
Ou si vous utilisez Font Awesome, ajoutez ces lignes (et modifiez la ligne de contenu):
la source
top:7px;
causera des problèmes si l'étiquette est multiligne. Il vaudrait mieux le remplacermargin-top: -4px;
par exemple..form-group .required .control-label:after
devrait probablement l'être.form-group.required .control-label:after
. La suppression de l'espace entre .form-group et .required est le changement.la source
.control-group.required .control-label:after { content:"*"; color:red; }
Les deux autres réponses sont correctes. Lorsque vous incluez des espaces dans vos sélecteurs CSS, vous ciblez les éléments enfants ainsi:
Cibler un élément avec la classe "required" qui est à l'intérieur d'un élément avec la classe "form-group".
Sans l'espace, il cible un élément qui a les deux classes. 'required' et 'form-group'
la source
Ce CSS a fonctionné pour moi:
et ce HTML:
la source