Comunidad de diseño web y desarrollo en internet online

Alinear y centrar Submits de formularios distintos.

Citar            
MensajeEscrito el 09 Dic 2009 08:57 am
Hola muy buenas.

Verán tengo un problema al que llevo bastante tiempo dándole vueltas pero no consigo resolverlo de forma exitosa. La cuestión es que tengo 2 botones de tipo 'submit' en una página. Cada submit, pertenece a un formulario distinto, es decir, hay dos bloques 'form' en la página y cada bloque 'form' contiene un submit. Como es normal, por estar en bloques diferentes, el segundo submit aparece debajo del otro.

Lo que quiero es que los dos estén a la misma altura, es decir, en la misma línea, y que queden centrados en la página. Lo más parecido que he hecho es sacarlos del flujo normal con la propiedad float de css, pero esta opción sólo me deja colocarlos a la izquierda o a la derecha. Intenté con la propiedad position:relative y jugando con los valores de left y margin-left, pero no queda muy bien.
¿Cómo podría hacerlo?

Espero sus respuestas, gracias

Por Reverendo

26 de clabLevel



Genero:Masculino  

Málaga

firefox
Citar            
MensajeEscrito el 09 Dic 2009 11:44 am
Hola Reverendo
Suponiendo que usas css y como no has puesto los código implicados, sólo se me ocurre sugerirte que le asignes a cada botón un id distinto y así podrás actuar de forma independiente sobre cada uno de ellos.
En estos casos es muy efectivo un enlace a tu trabajo para que puedas recibir ayuda en forma de código.

Saludo

Por DvillB

118 de clabLevel



 

firefox
Citar            
MensajeEscrito el 09 Dic 2009 12:07 pm
Gracias por responder. Lo siento mucho pero no puedo mostrar nada ya que es trabajo de la empresa donde curro y no puedo colgar nada por ahí.
Lo de los id, sería bueno para poder manejarlos tranquilamente, pero no es una opción que vaya ha influir ya que el único botón que conozco es el de el primer formulario, el otro aparece dinámicamente de una lista y se imprimen el número de botones que correspondan según varias opciones.
He estado mirando y una solución es colocar primero un div con la propiedad float también y que el ancho varie según el número de botones que se imprimen. Lo que pasa es que me parece una solución un poco 'parche' para salir del paso.

Por Reverendo

26 de clabLevel



Genero:Masculino  

Málaga

firefox
Citar            
MensajeEscrito el 09 Dic 2009 01:53 pm
De nuevo hola
Mira, te pongo un código que ya tenía realizado de un formulario que valida tanto css, como xhtml y accesibilidad según el era que ya tenía realizado.
Lo único que he hecho ha sido duplicarlo y cambiar los nombres, id's y accesskey (que obligatoriamente tienen que existir). Espero no haber tenido nungún lapsus.
Verás que los campos quedan alineados, al igual que los input submit

Código :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="es-es">
<head>
<title>DvillB: formularios</title>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1" />
<style type="text/css">
* {margin: 0; padding:0; outline: none; border: 0; position: relative;}
* html, * body { height:100%; overflow:auto;}
body {font-family: Verdana, Arial, sans-serif; font-size: 100%; background: #FFF;}
#formularios {
  width: 605px;
  margin: 0 auto;
  overflow: hidden;
  background: #435266; 
}
form {
  margin: 5px 0 5px 0;
  display: inline;
}

fieldset {
  display: inline;
  width: 300px;
  letter-spacing: .1em;
  margin:0 0 10px;
  vertical-align:bottom;
  }

label {
  clear:both;
  color:#cdcdcd;
  margin: 5px 0 0 10px;
  display: block;
  font-size: .9em;
  }
  
input {
  background-color: #c0c0c0;
  display:block;
  width:15em;
  font-size:.9em;
  clear:both;
  color:#1f1f1f;
  margin: 0 0 -5px 10px;
  padding: 0 5px;
  border: 1px outset #010000;
  }
  
textarea {
  background-color: #c0c0c0;
  display:block;
  color:#1f1f1f;
  font-size:.9em;
  clear:both;
  margin-left: 10px;
  border: 1px outset #010000;
  }
  
textarea:hover, textarea:focus, textarea:visited, input:hover, input:focus, input:visited {
  color: #435266;
  background: #EFDFB6;
  border: 1px inset #600;
}
 
.submit {
  background-color: #c0c0c0;
  color: #1f1f1f;;
  text-decoration: none;
  width: 6em;
  padding: 2px 10px;
  margin: -10px auto 0;
  border: 1px inset #777;
  }

.submit:hover {
  background-color: #1f1f1f;
  color: #c0c0c0;
  border: 1px outset #777;
  cursor: pointer;
  }
</style>
</head>
<body>
<div id="formularios">
      <form method="post" action="#top_3" id="formuno">
                <fieldset id="form">             
                          <label for="usuario" >Nombre*:</label>
                     <input id="usuario" name="usuario" type="text" accesskey="n" value="Su Nombre" />
                        <label for="comp">Empresa:</label>
                      <input id="comp" type="text" name="comp" accesskey="e" value="Su empresa" />
                        <label for="mail">Mail*:</label>
                      <input id="mail" type="text" name="mail" accesskey="m" value="Su direcci&oacute;n email" />                      
                        <label for="web">P&aacute;gina Web:</label>
                      <input id="web" type="text" name="web" accesskey="p" value="http://" />                      
                        <label for="comment">Comentario*:</label>
                      <textarea id="comment" cols="33" rows="4" name="comment" accesskey="c" >Aqu&iacute; su comentario</textarea>
                        <label for="submit">&nbsp;</label>
                <input name="submit" type="submit" class="submit" id="submit" value="Enviar" />
                </fieldset>            
              </form>

      <form method="post" action="#top_4" id="formdos">
                <fieldset id="form2">             
                          <label for="localidad" >Localidad*:</label>
                     <input id="localidad" name="localidad" type="text" accesskey="l" value="Su Ciudad" />
                        <label for="cp">Código Postal*:</label>
                      <input id="cp" type="text" name="cp" accesskey="z" value="00000" />                      
                        <label for="calle">Calle:</label>
                      <input id="calle" type="text" name="calle" accesskey="b" value="c/" />                      
                        <label for="comment">Comentario*:</label>
                      <textarea id="comment2" cols="33" rows="4" name="comment" accesskey="c" >Aqu&iacute; su comentario</textarea>
                        <label for="submit">&nbsp;</label>
                <input name="submit2" type="submit" class="submit" id="submit2" value="Enviar" />
                </fieldset>            
              </form>
</div>
</body>
</html>


Como verás, los form y fieldset son elementos en línea (display: inline) para que se coloquen unformulario junto al otro y para el fielset le asigno "vertical-align:bottom;"

No se si este ejemplo lo podrás acomodar a tu caso. Si no es así, coloca los códigos de dos de tus formularios y seguimos viendo.

Saludos

Por DvillB

118 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.