Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: gAb1 en 21 Septiembre 2014, 20:55 pm



Título: css class no funciona con float left
Publicado por: gAb1 en 21 Septiembre 2014, 20:55 pm
Hola, tengo una clase en css que muestra un fondo para mostrar el contenido dentro, se adapta el contenido que haya.

Código
  1. .boxy {
  2.    background: none repeat scroll 0 0 #F7F7F9;
  3.    border: 2px solid #FFFFFF;
  4.    border-radius: 7px 7px 7px 7px;
  5.    box-shadow: 0 0 0 1px rgba(0, 0, 2, 0.1), 0 1px 0 rgba(0, 0, 2, 0.15), 0 1px 1px rgba(0, 0, 2, 0.1);
  6.    padding: 13px;
  7.    text-shadow: 0 1px 0 #FDFDFF;
  8.    margin: 10px;
  9. }

Pero no funciona cuando pongo float left para un div que hay dentro:

Código
  1. <div class="menu">
  2. <div class="secondmenu">
  3. <ul>
  4. <li><a>'.$row['id'].'</a></li>
  5. <li><a href="amigo.php?id='.$row['id'].'">'.$row['nombre'].'</a></li>
  6. <li><a>'.$row['status'].'</a></li>
  7. <li><a>'.$row['bonus'].'</a></li>
  8. </ul>
  9. </div>
  10. </div>
  11. ';
  12.  

Eso es una lista, y cada casilla debe ir de izquierda a derecha, por eso la clase secondmenu tiene float: left;

El div con la clase boxy envuelve todo el codigo php, pero no creo que eso sea un problema, ya que si quito el float left el fondo se alarga y cubre todas las filas de la lista, que estan todas de arriba a abajo.

¿Sabeis alguna manera de arreglar esto?

Gracias.


Título: Re: css class no funciona con float left
Publicado por: #!drvy en 22 Septiembre 2014, 06:02 am
Asegúrate de que limpias el float después de usarlo.

Código
  1. .clear {clear:both;}

Código
  1. <div class="menu">
  2.   <div class="sencondmenu">
  3.      ..
  4.      ..
  5.   </div>
  6.   <div class="clear"></div>
  7. </div>

Saludos




Título: Re: css class no funciona con float left
Publicado por: gAb1 en 22 Septiembre 2014, 06:44 am
Gracias! Si que funciona, pero poniendolo fuera del while para que no haga un espacio entre filas.

Otra duda, para cambiar el tamaño del primer y ultimo <li> uso:

Código
  1. .menu li:first-child > a {width: 8%;}
  2. .menu li:last-child > a {width: 16%;}

¿Pero para cambiar los otros? Necesito ajustar el ancho para el contenido que va a tener cada uno.

Gracias.

Edito: dejare de anidar en css y creare clases para cada <li> :)