Tengo un formulario genérico, que me gustaría diseñar para alinear las etiquetas y los campos de entrada. Por alguna razón, cuando le doy un ancho al selector de etiquetas, no sucede nada:
HTML:
<form id="report-upload-form" method="POST" action="" enctype="multipart/form-data">
<p>
<label for="id_title">Title:</label>
<input id="id_title" type="text" class="input-text" name="title"></p>
<p>
<label for="id_description">Description:</label>
<textarea id="id_description" rows="10" cols="40" name="description"></textarea></p>
<p>
<label for="id_report">Upload Report:</label>
<input id="id_report" type="file" class="input-file" name="report">
</p>
</form>
CSS:
#report-upload-form {
background-color: #316091;
color: #ddeff1;
font-weight:bold;
margin: 23px auto 0 auto;
border-radius:10px;
width: 650px;
box-shadow: 0 0 2px 2px #d9d9d9;
}
#report-upload-form label {
padding-left:26px;
width:125px;
text-transform: uppercase;
}
#report-upload-form input[type=text],
#report-upload-form input[type=file],
#report-upload-form textarea {
width: 305px;
}
Salida:

¿Qué estoy haciendo mal?

<p>realmente una buena idea envolver las secciones del formulario en etiquetas?Respuestas:
Hacer
display: inline-block:http://jsfiddle.net/aqMN4/
fuente
Utilizar
display: inline-block;Explicación:
El
labeles un elemento en línea, lo que significa que es tan grande como debe ser.Establezca la
displaypropiedad eninline-blockoblockparawidthque surta efecto.Ejemplo:
fuente
labelelemento no respeta lawidthpropiedad porque es un elemento en línea. Me gustaría señalar que elinputelemento también es un elemento en línea de forma predeterminada. Pero permite cambiar su ancho usando la propiedad width a diferencia dellabelelemento. Por tanto, el razonamiento del autor no es correcto.Creo que las etiquetas están en línea, por lo que no toman un ancho. Tal vez intente usar "display: block" y vaya desde allí.
fuente
Primero conviértalo en un bloque, luego flote a la izquierda para dejar de empujar el siguiente bloque hacia una nueva línea.
fuente
dar el estilo
espero que esto ayude '
fuente
labelEldisplaymodo predeterminado esinline, lo que significa que se ajusta automáticamente a su contenido. Para establecer un ancho, deberá establecerdisplay:blocky luego hacer algunos ajustes para colocarlo correctamente (probablemente involucrandofloat)fuente