selectores seleccionar que para listas iconos hermano general fuentes etiquetas estilos elemento div dentro combinador avanzados css

seleccionar - Los elementos de la lista de lado a lado como iconos dentro de un div(css)



selectores avanzados css (7)

Aquí hay un buen recurso para envolver las listas de columnas. http://www.communitymx.com/content/article.cfm?cid=27f87

Estoy buscando una manera de crear un <ul> de elementos que pueda colocar dentro de un <div> y hacer que aparezcan lado a lado y se ajusten a la siguiente línea a medida que se cambia el tamaño de la ventana del navegador.

Por ejemplo, si tenemos 10 elementos en la lista que actualmente muestran 5 elementos en la primera fila y 5 elementos en la segunda fila, a medida que el usuario amplía la ventana del navegador, se convierte en 6 elementos en la primera fila y 4 elementos en la primera fila. la segunda fila, etc.

Estoy buscando una funcionalidad similar a la que hace el Explorador de Windows en la vista de mosaicos / iconos / miniaturas. Soy capaz de crear los <li> que quiero en cuanto al tamaño, color, contenido, etc. Solo estoy teniendo problemas con la envoltura / limpieza / etc. parte.


Esto puede ser una solución CSS pura. Dado:

<ul class="tileMe"> <li>item 1<li> <li>item 2<li> <li>item 3<li> </ul>

El CSS sería:

.tileMe li { display: inline; float: left; }

Ahora, como ha cambiado el modo de visualización de "bloque" (implícito) a "en línea", no funcionará ningún estilo de relleno, margen, ancho o altura que haya aplicado a los elementos li. Necesitas anidar un elemento de nivel de bloque dentro de la li:

<li><a class="tile" href="home">item 1</a></li>

y añade el siguiente CSS:

.tile a { display: block; padding: 10px; border: 1px solid red; margin-right: 5px; }

El concepto clave detrás de esta solución es que está cambiando el estilo de visualización de li a ''en línea'' y está anidando un elemento de nivel de bloque en el interior para lograr un efecto de mosaico consistente.


Te recomendaría que uses display: inline; . float está jodido en IE. Aquí hay un ejemplo de cómo lo abordaría:

<ul class="side-by-side"> <li>item 1<li> <li>item 2<li> <li>item 3<li> </ul>

y aquí está el css:

.side-by-side { width: 100%; border: 1px solid black; } .side-by-side li { display: inline; }

Además, si usas flotadores, la ul no se envolverá alrededor de los li y en su lugar tendrá una altura de 0 en este ejemplo:

.side-by-side li { float: left; }


Use el siguiente código para hacer flotar los elementos y asegurarse de que se muestren en línea.

ul.myclass li {float: left; display: inline}

También asegúrese de que el contenedor en el que los coloque esté flotado con una anchura del 100% o alguna otra técnica para garantizar que los elementos flotantes estén dentro y los siguientes elementos debajo.


Utilicé una combinación de lo anterior para lograr un resultado de trabajo; Cambie float a Izquierda y muestre Bloquee el propio li HTML

<ol class="foo"> <li>bar1</li> <li>bar2</li> </ol>

CSS:

.foo li { display: block; float: left; width: 100px; height: 100px; border: 1px solid black; margin: 2px; }


añade esta línea en tu archivo css:

.classname ul li { float: left; }


dar el flotador LI: izquierda (o derecha)

Todos estarán en la misma línea hasta que no haya más espacio en el contenedor (su caso, una ul). (olvidé): Si tienes un elemento de bloque después de los elementos flotantes, él también se apegará a ellos, a menos que le des un claro: ambos, O coloca un div vacío delante de él con ambos: claro