Meu HTML tem uma classe chamada .required
que é atribuída aos campos obrigatórios.
Aqui está o 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>
Eu adicionei o seguinte ao meu CSS;
.form-group .required .control-label:after {
content:"*";color:red;
}
Ainda assim, isso não indica vermelho *
ao redor dos campos obrigatórios. O que estou perdendo aqui? Não existe uma maneira direta no Bootstrap 3 de introduzir *
os campos obrigatórios?
EDITAR
Os *
termos e condições não aparecem imediatamente em uma caixa de seleção. Como consertar isto?
css
forms
twitter-bootstrap-3
form-fields
chuva de ideias
fonte
fonte
Respostas:
Use
.form-group.required
sem o espaço.Editar:Para a caixa de seleção, você pode usar a pseudo classe: not (). Você adiciona o * necessário após cada rótulo, a menos que seja uma caixa de seleção
Nota: não testado
Você deve usar a classe .text ou direcioná-la para o caso contrário, provavelmente, tente este html:
Ok terceira edição:
CSS volta ao que era
HTML:
fonte
bootstrap-theme.css
).::after
. A especulação de CSS de nível 3 acabou.Supondo que é assim que o HTML se parece
Para exibir um asterisco à direita do rótulo:
Ou à esquerda do rótulo:
Para criar um bom asterisco vermelho grande, você pode adicionar estas linhas:
Ou, se você estiver usando o Font Awesome, adicione estas linhas (e altere a linha de conteúdo):
fonte
top:7px;
causará problemas se o rótulo for de várias linhas. Seria melhor substituí-lo por,margin-top: -4px;
por exemplo..form-group .required .control-label:after
provavelmente deveria ser.form-group.required .control-label:after
. A remoção do espaço entre .form-group e .required é a alteração.fonte
.control-group.required .control-label:after { content:"*"; color:red; }
As outras duas respostas estão corretas. Quando você inclui espaços em seus seletores de CSS, está direcionando elementos filho para:
Está direcionando um elemento com a classe "obrigatório" que está dentro de um elemento com a classe "formulário-grupo".
Sem o espaço, ele tem como alvo um elemento que possui ambas as classes. 'required' e 'form-group'
fonte
Este CSS funcionou para mim:
e este HTML:
fonte