Ver Mensaje Individual
  #10 (permalink)  
Antiguo 30/07/2012, 04:36
Avatar de ananda
ananda
 
Fecha de Ingreso: enero-2012
Mensajes: 345
Antigüedad: 12 años, 4 meses
Puntos: 14
Respuesta: Problema posicionando

Cita:
Iniciado por gebremswar Ver Mensaje
Pensaste que debías? Veo que no tienes claro el manejo de selectores en CSS, es bastante básico te recomiendo que revises Selectores Básicos (para este caso "Selector de clase") y no estria mal estudies todos los capítulos de CSS básico y luego CSS avanzado.

En cuanto a div.formu, pues el selector no es incorrecto y la explicación esta el link que dejé lineas más arriba.



1. Quieres el botón arriba de los formularios siempre.
2. Y "aparecer" los formularios debajo del botón siempre.
El siguiente ejemplo parte de tu código original. Cambios: 'subí' el div que contiene el botón para que se ubique antes de los div de los formularios. Agregué una nueva clase ".caja" con la propiedad display y su valor inline-block.
Código CSS:
Ver original
  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4.     <meta charset="utf-8">
  5.     <script type="text/javascript">
  6.     $(document).ready(function(){
  7.         $(".editar").click(function(){
  8.             $(".editar").animate({width:414},"slow",function(){
  9.                 $(".formulario").toggle(function(){
  10.                     $(".formu").slideToggle("slow");
  11.                 });
  12.             });
  13.         });
  14.     });
  15.     </script>
  16.     <style>
  17.     .formulario{
  18.         background:#E5EECC;
  19.         border:solid 1px green;
  20.         /*margin-top:-461px;
  21.         margin-left:1000px;*/
  22.         padding:5px 5px 5px 30px;
  23.         text-align:left;
  24.         width:377px
  25.     }
  26.  
  27.     div.formu{
  28.         background:#E5EECC;
  29.         border:solid 1px green;
  30.         display:none;
  31.         /*margin:0px;
  32.         margin-top:-461px;
  33.         margin-left:1000px;*/
  34.         padding:5px 5px 5px 30px;
  35.         text-align:left;
  36.         width:377px
  37.     }
  38.     .editar{
  39.         background-color:#22B14C;
  40.         border:1px solid green;
  41.         color:white;
  42.         cursor:pointer;
  43.         font-weight:bold;
  44.         height:30px;
  45.         width:140px
  46.     }
  47.     .caja{display:inline-block}
  48.     </style>
  49. </head>
  50. <body>
  51. <div class="caja">
  52.     <div id="edicion" class="caja">
  53.         <input type="button" id="editar" class="editar" value="Editar información">
  54.     </div>
  55.     <div class="formulario">
  56.         <form method="post">
  57.             <!-- elementos de formulario -->
  58.         </form>
  59.     </div>
  60.     <div class="formu" >
  61.         <form method="post">
  62.             <!-- elementos de formulario -->
  63.         </form>
  64.     </div>
  65. </div>
  66. </body>
  67. </html>

Lo que he hecho con el display, en class .caja, es que ocupe solo el espacio necesario. Ya que tu maquetación y la disposición de los demás elementos que puedan contener a este fragmento de código que nos haz compartido pueden estar ocasionando que tu botón se muestre en distinto lugar al que inicialmente le haz asignado y puede que a su vez haya que modificar no solo las reglas de este fragmento par solucionar tu problema.

Muchas gracias! Me ha funcionado a la perfección, era más problema de estructura html que de css, no obstante el css también tenía muchos errores. Respecto a lo del "div.formu", sé que se puede usar pero no estaba seguro ya que hice dos clases, una llamada .formu y otra llamada div.formu, y al fin y al cabo son el mismo div, eso me despistó un poco. Tu solución me ha ido genial, muchas gracias y gracias a todos los que me habéis ayudado.