Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

442
Views
CSS para alinear la etiqueta y la entrada

Fragmento de código HTML:

 <fieldset id="o-bs-sum-buginfo"> <label for="o-bs-sum-bug-ErrorPrefix">Error Prefix</label> <input type="text" id="o-bs-sum-bug-ErrorPrefix" name="ErrorPrefix" value="" /> <label for="o-bs-sum-bug-ErrorNumber">Error Number</label> <input type="text" id="o-bs-sum-bug-ErrorNumber" name="ErrorNumber" value="" /> .... </fieldset>

Usando solo CSS (o jquery), independientemente del tamaño del navegador, quiero emparejar la etiqueta y los elementos de entrada uno al lado del otro. También tengo libertad para cambiar y modificar el HTML. si es requerido.

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Esta es una de esas cosas que puede ser sorprendentemente difícil de hacer bien.

Muchas personas sugerirán usar float:left; para esto. Personalmente, realmente no me gustan los flotadores; parecen causar más problemas de los que resuelven.

Mi preferencia es usar el bloque en línea. Este es un método de visualización que combina propiedades en línea (para que pueda alinear fácilmente elementos uno al lado del otro, etc.) con propiedades de bloque (como poder especificar dimensiones).

Entonces, la respuesta es simplemente hacer que ambos display:inline-block; y asigne a las indicaciones un ancho fijo, lo que hará que los campos de entrada junto a ellos se alineen.

También necesitará algún tipo de avance de línea o interrupción después del campo de entrada; de lo contrario, aparecerá el siguiente mensaje en la misma línea, que no es el efecto deseado. La mejor manera de lograr esto es colocar cada solicitud y su campo en un contenedor <div> .

Entonces su HTML se verá así:

 <fieldset id="o-bs-sum-buginfo" class="myfields"> <div> <label for="o-bs-sum-bug-ErrorPrefix">Error Prefix</label> <input type="text" id="o-bs-sum-bug-ErrorPrefix" name="ErrorPrefix" value="" /> </div> <div> <label for="o-bs-sum-bug-ErrorNumber">Error Number</label> <input type="text" id="o-bs-sum-bug-ErrorNumber" name="ErrorNumber" value="" /> </div> .... </fieldset>

y tu CSS se verá así:

 .myfields label, .myfields input { display:inline-block; } .myfields label { width:200px; /* or whatever size you want them */ }

Espero que ayude.

Editar : puede usar este complemento para configurar el ancho de cada etiqueta:

 jQuery.fn.autoWidth = function(options) { var settings = { limitWidth : false } if(options) { jQuery.extend(settings, options); }; var maxWidth = 0; this.each(function(){ if ($(this).width() > maxWidth){ if(settings.limitWidth && maxWidth >= settings.limitWidth) { maxWidth = settings.limitWidth; } else { maxWidth = $(this).width(); } } }); this.width(maxWidth); }

de esta página en un comentario

y lo usas de esta manera:

 $("div.myfields div label").autoWidth();

y eso es todo... todas sus etiquetas van a tomar el ancho de la etiqueta más larga

over 4 years ago · Santiago Trujillo Report

0

#o-bs-sum-buginfo label, #o-bs-sum-buginfo input{display:inline-block;width:50%;}

over 4 years ago · Santiago Trujillo Report

0

Coloque cada etiqueta con su entrada correspondiente en la etiqueta ap. Luego agregue el siguiente css:

 label{ float:left; width:100px; //whatever width that suits your needs } p{ margin:10px 0; //manipulate the vertical spaces for each input.. } <fieldset id="o-bs-sum-buginfo"> <p> <label for="o-bs-sum-bug-ErrorPrefix">Error Prefix</label> <input type="text" id="o-bs-sum-bug-ErrorPrefix" name="ErrorPrefix" value="" /> </p> </fieldset>
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!