2011-06-18 17 views
6

Estoy tratando de escribir un formulario de contacto; sin embargo, mis anchos de etiqueta no están siendo forzados en Firefox o Chrome - IE parece estar funcionando bien (por una vez). Aquí está mi HTML¿Por qué IE respeta el ancho de CSS de la etiqueta, pero no Firefox o Chrome?

<form name="" id="" action="" method="post"> 

      <div id="my_form"> 

       <div> 
        <label for="username">Username:</label> 
        <input type="text" name="username" id="username" /> 
       </div> 
      <div> 
<form> 

y aquí está mi CSS

#my_form div label{width:200px;display:inline-block;} 

alguna idea de cómo puedo forzar el ancho de la etiqueta, que parecen colapsar

+3

Obras en ff 4.0.1: http://jsfiddle.net/fy3NC/ –

+0

se ve bien y también funciona en Chrome con código pegado de Nikita. – 2ndkauboy

+0

@Nikita - de acuerdo. Me parece bien, Firefox 3.6. – Spudley

Respuesta

13

probar este :

#my_form div label{width:200px; display:block; float:left;} 

Ver este funcionamiento (http://jsfiddle.net/jrpab/), funciona bien en Chrome.

2

intento:

#my_form label{width:200px;display:block; clear:left; float:left; } 
#my_form input{display:block; float:left; width:auto;} 
+0

solo primera línea, especialmente, 'clear: left' ayudado por mi marcado (las etiquetas y las entradas están dentro del fieldset - no divs) – ruruskyi

1

Después de algún rascarse la cabeza y la investigación, he encontrado que es porque etiquetas son elementos en línea, que según la documentación CSS debe ignorar el estilo ancho. Entonces, como de costumbre, IE lo está haciendo mal y Chrome y Firefox lo están haciendo bien.

...

establezca su propiedad pantalla para algo que no sea en línea. He encontrado pantalla: bloque en línea es el mejor para lograr lo que está buscando.

http://doctype.com/firefox-chrome-ignore-widths-my-labels

Cuestiones relacionadas