Mas isso leva a uma quebra no código, que é provavelmente o que o OP não quer em primeiro lugar.
Konrad Rudolph
49
@Konrad Então o OP pode usar floatoudisplay: inline-block
Josh Stodola
2
Sim, era nisso que eu queria chegar. :-) Este é o aspecto principal aqui, já que é a parte difícil. Apenas definir widthnão terá muita utilidade.
Konrad Rudolph
@ JoshStodola oh shiiiiit ..... o bloco inline nunca funcionou para mim, tentei flutuar e bham! Eu me pergunto por que o trabalho inline-block did't para mim
Dheeraj
O @lostchild inline-block não ignora os espaços em branco, pode ser por isso que você estava tendo problemas com ele.
Alex Podworny
91
Usar o bloco embutido é melhor porque não força os elementos e / ou controles restantes a serem desenhados em uma nova linha.
Os elementos embutidos (como SPAN, LABEL etc.) são exibidos para que sua altura e largura sejam calculadas pelo navegador com base em seu conteúdo. Para controlar a altura e a largura, é necessário alterar os blocos desses elementos.
display: block;torna o elemento exibido como um bloco sólido (como tags DIV), o que significa que há uma quebra de linha após o elemento (não está embutido). Embora você possa usar display: inline-blockpara corrigir o problema de quebra de linha, esta solução não funciona no IE6 porque o IE6 não reconhece o bloco embutido. Se você deseja que ele seja compatível com vários navegadores, consulte este artigo: http://webjazz.blogspot.com/2008/01/getting-inline-block-working-across.html
Dar largura ao Label não é uma maneira adequada. você deve usar uma div ou estrutura de tabela para gerenciar isso. mas ainda assim, se você não quiser alterar todo o código, poderá usar o código a seguir.
"Dar largura ao Label de maneira inadequada" para controlar a largura de um elemento do label? Você tem certeza?
Oriol
Sim. Porque quando queremos criar algum layout ou estrutura específica, as propriedades div e table são fornecidas para uso. O rótulo não se destina a fornecer largura ou altura. Portanto, se usarmos algo que não se destina a isso, ele começará a criar problemas de alguma maneira. Espero estar fazendo sentido agora.
Yaxita Shah
2
label {
width:200px;
display:inline-block;}
OR
label {
width:200px;
display:inline-flex;}
OR
label {
width:200px;
display:inline-table;}
display:block
oufloat:left
.Respostas:
Usando CSS, é claro ...
O
width
atributo foi descontinuado e o CSS sempre deve ser usado para controlar esses tipos de estilos de apresentação.fonte
float
oudisplay: inline-block
width
não terá muita utilidade.Usar o bloco embutido é melhor porque não força os elementos e / ou controles restantes a serem desenhados em uma nova linha.
fonte
Os elementos embutidos (como SPAN, LABEL etc.) são exibidos para que sua altura e largura sejam calculadas pelo navegador com base em seu conteúdo. Para controlar a altura e a largura, é necessário alterar os blocos desses elementos.
display: block;
torna o elemento exibido como um bloco sólido (como tags DIV), o que significa que há uma quebra de linha após o elemento (não está embutido). Embora você possa usardisplay: inline-block
para corrigir o problema de quebra de linha, esta solução não funciona no IE6 porque o IE6 não reconhece o bloco embutido. Se você deseja que ele seja compatível com vários navegadores, consulte este artigo: http://webjazz.blogspot.com/2008/01/getting-inline-block-working-across.htmlfonte
Dar largura ao Label não é uma maneira adequada. você deve usar uma div ou estrutura de tabela para gerenciar isso. mas ainda assim, se você não quiser alterar todo o código, poderá usar o código a seguir.
fonte
fonte
Você pode definitivamente tentar dessa maneira
fonte
Você pode atribuir o nome da classe a todos os rótulos, para que todos possam ter a mesma largura:
Exemplo
ou você pode simplesmente dar o restante do rótulo
fonte