2010-09-26 23 views
18

que tienen un par de etiquetas div anidados unos dentro de otros y unos códigos span anidados, como a continuación: -etiquetas span envolver dentro de un div

<div id="leftcol"> 
    <div id="tagcloud"> 
     <span class="mytags"><a href="">tag1</a></span> 
     <span class="mytags"><a href="">tag2</a></span> 
     <!-- and a few more spans of the same type --> 
    </div> 
</div> 

Ahora el problema es que vanos desbordan su etiqueta div contenedor. ¿Puede alguien ser tan amable de decirme cómo hacer que estos tramos se envuelvan dentro de su contenedor div (aquí el div con la identificación tagcloud). Ambos divs externos tienen un ancho de 300px especificado.

(Información adicional- He hecho un reinicio de css usando las YUI reset-fonts-grids. Me estoy acostumbrando a CSS ...) Editar: -El sitio se puede consultar en frekshrek.appspot.com .. .la nube de etiquetas simplemente no se ajusta dentro de su contenedor div

+0

hacer le sucede que tiene una URL ¿para mirar? –

+0

Publicar su CSS también ayudaría mucho. –

+0

Puedes echar un vistazo a frekshrek.appspot.com .. – rubicondude

Respuesta

17

Intente declarar float: left; en la clase .mytagcloud. Algo así como:

.mytagcloud{ 
    float: left; 
    margin: 5px; 
    font-family: 'Reenie Beanie', arial, serif; 
} 

en su archivo basiclayout.css, línea 71.

+1

¡Eres DIOS! :-) .. Gracias – rubicondude

+1

Me alegro de ser de ayuda :) –

+2

@rubic @Freek - no debe usar 'margin: 5px;' en ningún elemento flotante. En IE6, el error de doble margen de flotación tiene efecto. Me quedaría con 'relleno: 5px;', o 'margen: 5px 5px 5px 0;'. – orokusaki

2

Parece que está flotando los tramos dentro del contenedor div. Si este es el caso, y desea que el 'tagcloud' para contener (envoltura) las luces flotaban a continuación, es necesario borrar los flotadores añadiendo lo siguiente a la CSS tagcloud:

div.tagcloud { 
    overflow: auto; 
    width: 100%; 
} 

Una explicación de esta técnica puede se puede encontrar aquí: http://www.quirksmode.org/css/clearing.html

+0

No, no estoy flotando los tramos en el interior. El único css que aplica allí establece el ancho de los dos divs externos y la fuente de las etiquetas de span. Eso es. Si bien la solución anterior ayuda a ajustar el lapso dentro del div, induce una barra de desplazamiento en la parte inferior. No envuelve el tramo de una línea a la siguiente cuando el ancho está a punto de exceder – rubicondude

8

No tiene espacios entre sus tramos, por lo que el navegador los ve a todos como una sola palabra larga. Si agrega un espacio único o un salto de línea entre cada tramo, se tratarán como palabras separadas y se envolverán en consecuencia.

+1

Siempre puede editar su primera respuesta y agregar la actualización o reemplazar la inicial por completo. Ayuda a mantener limpia la sección de respuestas;) –

+0

¿Hubiera alguna otra forma, ya que estoy generando las etiquetas span dinámicamente a través de un bucle for, en el servidor, encerrándolos en un div y enviándolo? No puedo encontrar una forma de agregar espacios entre ellos – rubicondude

+0

En su bucle for puede intentar agregar ' ' inmediatamente después de la etiqueta de lapso de cierre. Esta es la entidad html para un espacio sin interrupciones. Entonces, por ejemplo, el servidor debería devolver algo como: ...   ...

19

Otra opción es simplemente establecer sus etiquetas que se mostrará inline-block:

.mytags { 
    display:inline-block; 
} 
+2

+1 cuando flotan a la izquierda causan distorsión de diseño use esto –

Cuestiones relacionadas