Foros del Web » Creando para Internet » CSS »

Problema con los label en un formulario

Estas en el tema de Problema con los label en un formulario en el foro de CSS en Foros del Web. Hola chic@s, ¿cómo va el día? Yo llevo desde ayer dándole vueltas a un problema que seguramente será muy tonto, pero no logro sacar la ...
  #1 (permalink)  
Antiguo 21/07/2006, 05:32
Avatar de malucha  
Fecha de Ingreso: abril-2005
Mensajes: 70
Antigüedad: 19 años
Puntos: 0
Pregunta Problema con los label en un formulario

Hola chic@s, ¿cómo va el día?
Yo llevo desde ayer dándole vueltas a un problema que seguramente será muy tonto, pero no logro sacar la solución. A ver si podéis echarme una mano.

Bien, aquí os va el problema. Tengo un formulario, cada "título" tipo Nombre, importe de la venta, etc, va en una etiqueta <label>. Hasta aquí bien.
El problema es que ahora, le dé el ancho que le dé al puñetero label en la hoja de estilos, el texto sigue apareciendo mal, se ve mal, partido en varias líneas, cuando no debería ser así, y debería coger en una sola, porque espacio tiene abundante. Puedo darle un tamaño del infinito y más allá, que el texto sigue dividido en varias líneas.

A ver si no os lié mucho. Podéis ver un ejemplo de cómo lo hace mal aquí (casualmente en el Firefox): http://www.apobra.com/pruebas/tpvFF.jpg
Y aquí podéis ver lo que yo quiero (esto es más raro aún, se ve así en el IE!!): http://www.apobra.com/pruebas/tpvIE.jpg

Aquí os voy a pegar el código del HTML:
Código:
 <div align="center">
 <div id="formulario">
  <form name="frmdatos" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" >
  <fieldset>
  <legend> Introduzca los siguientes datos:</legend>  
  <table width="400">
<tr><td ><label for="idpedido" class="labelmasgrande">ID-Pedido: </label></td>
<td ><input type="text" name="idpedido" size="35" value="<?php echo $idpedido; ?>"></td></tr><tr><td colspan="2">
<input type="submit" name="buscar" value="Buscar" id="submit"></td></tr>
<?php
if ($mostrar == 1) {
    $importe = $registros['importe'];
    echo "<tr><td width='30%'><label for='importe' style='width:12 em';>Importe de la venta: </label></td>";
    echo "<td width='70%'><input type='text' name='importe' size='35' value=" .$importe. " disabled></td></tr>";
    echo "<input type='hidden' name='importe' value=" .$importe .">";
    echo "<tr><td width='30%'><label for='importeadevolver' style='width:12 em';>Importe a devolver: </label></td>";
    echo "<td width='70%'><input type='text' name='importeadevolver' size='35' onblur='compruebaValidoEntero()'></td></tr>";
    echo "<tr><td colspan='2'><input type='submit' value='Enviar' class='submit' id='submit' name='enviar'></td></tr>";
}
?>
</table>
</fieldset>
</form>
</div>
</div>


Cómo podéis ver por el código ya lo probé de varias maneras. Aquí tenemos el CSS:
http://www.apobra.com/pruebas/estilos.css
y
http://www.apobra.com/pruebas/formulario.css


En fin, espero que sea suficiente para que podáis echarme una manita. Muchas gracias por vuestro tiempo :)
Elena.
  #2 (permalink)  
Antiguo 21/07/2006, 10:22
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
El problema, según veo a vistazo rápido, es que por un lado estás poniéndole a la celda un ancho de 30%, y por otro lado le ponés al 'label' un ancho de 12em.

Lo que sucede acá es que el IE toma el 30%, pero no el ancho de 12em (o sea, falla al interpretar tu html ). Firefox achica el espacio porque toma el ancho de 12em. Si no necesitás el "width:12em" del label, sacáselo.

Por otro lado, siempre es útil en estos casos poner un borde al elemento que da problemas para poder ver dónde está realmente ubicado, donde comienza y dónde termina.


Saludos.
  #3 (permalink)  
Antiguo 21/07/2006, 12:15
Avatar de malucha  
Fecha de Ingreso: abril-2005
Mensajes: 70
Antigüedad: 19 años
Puntos: 0
Pues al final lo solucioné quitandole todo al principio, anchos, etc. Y luego le añadí un nuevo ancho a los labels y ya funcionó correcto.

Gracias :)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:16.