Foros del Web » Creando para Internet » CSS »

Como eliminar espacio de la izquieda de un <li>?

Estas en el tema de Como eliminar espacio de la izquieda de un <li>? en el foro de CSS en Foros del Web. Hola, quería saber como eliminar el espacio que queda siempre al lado izquierda al hacer una lista con <ul><li> ? Dejo un dibujo para aclararlo: ...
  #1 (permalink)  
Antiguo 24/02/2017, 09:13
 
Fecha de Ingreso: agosto-2014
Mensajes: 294
Antigüedad: 10 años, 2 meses
Puntos: 4
Pregunta Como eliminar espacio de la izquieda de un <li>?

Hola, quería saber como eliminar el espacio que queda siempre al lado izquierda al hacer una lista con <ul><li> ?

Dejo un dibujo para aclararlo:



Al hacer un "margin-left" sobre los <li> también genera un margen sobre el primer li, y esto hace que no quede lineado todos los bloques... unica cosa que se me ocurre (y me parece unachapuza ) es...

Si por ejemplo los <li> tienen un margen-left de 20px, en el <ul> aplicar un padding-left de -20px... pero me imagino que ha de haber una forma menos chapuza...


Todo comentario recibira +1, Gracias
  #2 (permalink)  
Antiguo 24/02/2017, 09:29
Avatar de KATHYU  
Fecha de Ingreso: julio-2013
Mensajes: 547
Antigüedad: 11 años, 4 meses
Puntos: 46
Respuesta: Como eliminar espacio de la izquieda de un <li>?

CSS puro, Bootstrap ??

Ya intento hacer una clase para el primer li y una segunda clase para los otros ?? donde la primera no tenga ni padding ni margin mientras que las otras si ??

Es en un menu horizontal ?? Siempre en los menus veo todo uniforme, porque no pone todo su codigo para verlo mejor y hacer pruebas
__________________
Al contrario de lo que muchos podrían afirmar, ayudar no te hace pobre, sino más rico.
  #3 (permalink)  
Antiguo 24/02/2017, 09:41
 
Fecha de Ingreso: agosto-2014
Mensajes: 294
Antigüedad: 10 años, 2 meses
Puntos: 4
Respuesta: Como eliminar espacio de la izquieda de un <li>?

Cita:
Iniciado por KATHYU Ver Mensaje
CSS puro, Bootstrap ??

Ya intento hacer una clase para el primer li y una segunda clase para los otros ?? donde la primera no tenga ni padding ni margin mientras que las otras si ??

Es en un menu horizontal ?? Siempre en los menus veo todo uniforme, porque no pone todo su codigo para verlo mejor y hacer pruebas
Muchas Gracias por tu respuesta :)

Aun no tengo la web, por eso tuve que enseñar en la imagen, quiero crear una mena de blog en forma de galeria... y siempre que hago uno me surge el mismo problema.. que todo el contenido esta torcido

Ahora al montar la nueva web, quiero hacerlo de forma correcta.. y también lo que dices sobre poner margin:0; en los primeros <li> es un trabajo bastante manual, por que si siempre vas añadiendo nuevas columnas.. es poco practico..

Y era para ver si había algun atajo css para solucionar ese problema..
  #4 (permalink)  
Antiguo 24/02/2017, 10:20
 
Fecha de Ingreso: agosto-2014
Mensajes: 294
Antigüedad: 10 años, 2 meses
Puntos: 4
Respuesta: Como eliminar espacio de la izquieda de un <li>?

Ir probando, lo pude soluciónar..

En vez de "margin-left" hay que poner "margin-right" de este modo no habrá ningun espacio en el lado izquierdo... luego en el "<ul>" hay que poner un "margin-right" pero en negatio... de este modo todo queda alineado, y no ningun espacio esta fuera de lugar.. puedes añadir todos los recuadros que quieras, que no se perdera nada..

Lo unico que hay que procurar de hacer, es que el valor del margen <li> coincida con el valor del margen negativo de <ul>

No se si es una solución correcta... pero es una solución para aquel que le sirva..

Gracias a todos por la ayuda
  #5 (permalink)  
Antiguo 24/02/2017, 14:50
Avatar de KATHYU  
Fecha de Ingreso: julio-2013
Mensajes: 547
Antigüedad: 11 años, 4 meses
Puntos: 46
Respuesta: Como eliminar espacio de la izquieda de un <li>?

Cita:
Iniciado por KATHYU Ver Mensaje
CSS puro, Bootstrap ??

Ya intento hacer una clase para el primer li y una segunda clase para los otros ?? donde la primera no tenga ni padding ni margin mientras que las otras si ??

Es en un menu horizontal ?? Siempre en los menus veo todo uniforme, porque no pone todo su codigo para verlo mejor y hacer pruebas
Sinceramente me perdi en tus respuestas

Pero con eso que decis que es poco practico, solo usas una clase en los <li> y si lo queres mas facil aun, una sola clase en el <ul> y despues en el CSS lo instancias al <li>

.clase-de-ul li{

}

Digo para que no crea que solo por tener 1000 items de <li> va a tener que poner 1000 estilos
__________________
Al contrario de lo que muchos podrían afirmar, ayudar no te hace pobre, sino más rico.
  #6 (permalink)  
Antiguo 24/02/2017, 15:06
 
Fecha de Ingreso: noviembre-2015
Mensajes: 231
Antigüedad: 9 años
Puntos: 86
Respuesta: Como eliminar espacio de la izquieda de un <li>?

Acostumbrate a usar flex
Código CSS:
Ver original
  1. ul {
  2.     justify-content: space-between;
  3.     display: flex;
  4.     flex-wrap: wrap;
  5.     list-style: none;
  6.     padding: 0;
  7.     border: 1px solid rgb(138, 129, 129);
  8. }
  9.  
  10. li {
  11.     height: 2rem;
  12.     line-height: 2rem;
  13.     padding: 0 1rem;
  14.     text-align: center;
  15.     background: rgb(255, 0, 0);
  16. }

Código HTML:
Ver original
  1. <nav>
  2.     <ul>
  3.         <li>Opción 1</li>
  4.         <li>Opción 2</li>
  5.         <li>Opción 3</li>
  6.         <li>Opción 4</li>
  7.         <li>Opción 5</li>
  8.         <li>Opción 6</li>
  9.         <li>Opción 7</li>
  10.         <li>Opción 8</li>
  11.         <li>Opción 9</li>
  12.     </ul>
  13. </nav>
Añade o elimina opciones y verás que se adapta. Claro, se adapta hasta un limite si el número de opciones es excesiva para el padding que se le ha dado
  #7 (permalink)  
Antiguo 24/02/2017, 15:11
Avatar de KATHYU  
Fecha de Ingreso: julio-2013
Mensajes: 547
Antigüedad: 11 años, 4 meses
Puntos: 46
Respuesta: Como eliminar espacio de la izquieda de un <li>?

mpozo, pero ese <ul> y <li> deben llevar clase verdad ?? digo por si hay otros mas ??

Es por si alguien sin conocimiento CSS ve el ejemplo.
__________________
Al contrario de lo que muchos podrían afirmar, ayudar no te hace pobre, sino más rico.
  #8 (permalink)  
Antiguo 24/02/2017, 16:43
 
Fecha de Ingreso: noviembre-2015
Mensajes: 231
Antigüedad: 9 años
Puntos: 86
Respuesta: Como eliminar espacio de la izquieda de un <li>?

Todo depende de la especifidad que se necesite. Se puede ser específico sin la necesidad de usar class o id
Código CSS:
Ver original
  1. nav ul, nav ul li
  #9 (permalink)  
Antiguo 25/02/2017, 03:55
 
Fecha de Ingreso: agosto-2014
Mensajes: 294
Antigüedad: 10 años, 2 meses
Puntos: 4
Respuesta: Como eliminar espacio de la izquieda de un <li>?

Mi metodo no ha funcionado del todo bien, ya que descuadra toda la página xD



Cita:
Iniciado por mpozo Ver Mensaje
Acostumbrate a usar flex
Código CSS:
Ver original
  1. ul {
  2.     justify-content: space-between;
  3.     display: flex;
  4.     flex-wrap: wrap;
  5.     list-style: none;
  6.     padding: 0;
  7.     border: 1px solid rgb(138, 129, 129);
  8. }
  9.  
  10. li {
  11.     height: 2rem;
  12.     line-height: 2rem;
  13.     padding: 0 1rem;
  14.     text-align: center;
  15.     background: rgb(255, 0, 0);
  16. }

Código HTML:
Ver original
  1. <nav>
  2.     <ul>
  3.         <li>Opción 1</li>
  4.         <li>Opción 2</li>
  5.         <li>Opción 3</li>
  6.         <li>Opción 4</li>
  7.         <li>Opción 5</li>
  8.         <li>Opción 6</li>
  9.         <li>Opción 7</li>
  10.         <li>Opción 8</li>
  11.         <li>Opción 9</li>
  12.     </ul>
  13. </nav>
Añade o elimina opciones y verás que se adapta. Claro, se adapta hasta un limite si el número de opciones es excesiva para el padding que se le ha dado
Tu codigo es buenisimoooo.. cumple a la perfección el objetico, que es dejar un sitio ordenado.. tras probar el unico problemilla estetico que tiene es el siguiente:



Que en la segunda fila hay dos <li> los pone en cada esquina.. xD me imagino que este metodo esta enfocado a los menus y no a webs rollo blogs..

Una pregunta, que os parece este codigo:



Código PHP:
    <ul>
        <
li>Opción 1</li>
        <
li>Opción 2</li>
        <
li>Opción 3</li>
        <
li>Opción 4</li>
        <
li>Opción 5</li>
        <
li>Opción 6</li>
        <
li>Opción 7</li>
        <
li>Opción 8</li>
        <
li>Opción 9</li>
    </
ul

Código CSS:
Ver original
  1. ul {
  2.  margin-left: -10px;
  3.  box-sizing: border-box;
  4. }
  5.  
  6. li {
  7.    float:left;
  8. margin-left: 10px;
  9.  
  10. }



Ah y +1 a todos vuestros aportes, GRACIAS :)
  #10 (permalink)  
Antiguo 25/02/2017, 06:00
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 9.028
Antigüedad: 21 años, 8 meses
Puntos: 1826
Respuesta: Como eliminar espacio de la izquieda de un <li>?

Independientemente que se haga con flex, voy a responder la pregunta original, que no fué atendida.

Cita:
Iniciado por yopmail Ver Mensaje
¿Cómo eliminar el espacio que queda siempre al lado izquierda al hacer una lista con <ul><li>?





Simplemente quitas el padding del padre, del UL.

ul {padding: 0;}

---

A veces es bueno pensar "fuera de la caja" en este caso el li era sólo la víctima de la caja contenedora.
  #11 (permalink)  
Antiguo 25/02/2017, 07:33
 
Fecha de Ingreso: agosto-2014
Mensajes: 294
Antigüedad: 10 años, 2 meses
Puntos: 4
Respuesta: Como eliminar espacio de la izquieda de un <li>?

Muchas Gracias Rafael :)

El problema es que si el <li> tiene un margen-left, el padding no elimina esa condicion.. incluso con un !important..

Pero gracias por la ayuda ^^ +1
  #12 (permalink)  
Antiguo 25/02/2017, 09:45
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 9.028
Antigüedad: 21 años, 8 meses
Puntos: 1826
Respuesta: Como eliminar espacio de la izquieda de un <li>?

Tienes que diferenciar claramente qué pasa en qué nivel. Obviamente tu margin left no va a ser eliminado. La pregunta inicial es de un "Espacio que siempre aparece al hacer una lista con ul y li".

Para tu otro "problema" que ya propusiste usar un margin right, es usar un first-child.

li:first-child {margin-left: 0;}
  #13 (permalink)  
Antiguo 26/02/2017, 14:29
 
Fecha de Ingreso: noviembre-2015
Mensajes: 231
Antigüedad: 9 años
Puntos: 86
Respuesta: Como eliminar espacio de la izquieda de un <li>?

Pensé que la galería era horizontal. Prueba con este otro
Código CSS:
Ver original
  1. div ul {
  2.     list-style: none;
  3.     padding: 0;
  4.     border: 1px solid rgb(138, 129, 129);
  5.     width: 80%;
  6.     margin: 0 auto;
  7.     overflow: hidden;
  8.     display: -webkit-flex;
  9.     display: flex;
  10.     -webkit-flex-flow: row wrap;
  11.     flex-flow: row wrap;
  12. }
  13.  
  14. div ul li {
  15.     text-align: center;
  16.     position: relative;
  17.     width: 25%;
  18.     padding: 1rem .6rem;
  19.     -webkit-box-sizing: border-box;
  20.     box-sizing: border-box;
  21. }
  22.  
  23. div ul li div {
  24.     height: 3rem;
  25.     line-height: 3rem;
  26.     margin: 0 1rem;
  27.     background: rgb(255, 0, 0);
  28. }
Código HTML:
Ver original
  1. <div>
  2.     <ul>
  3.         <li><div>Opción 1</li>
  4.         <li><div>Opción 2</li>
  5.         <li><div>Opción 3</li>
  6.         <li><div>Opción 4</li>
  7.         <li><div>Opción 5</li>
  8.         <li><div>Opción 6</li>
  9.         <li><div>Opción 7</li>
  10.         <li><div>Opción 8</li>
  11.         <li><div>Opción 9</li>
  12.         <li><div>Opción 10</li>
  13.     </ul>
  14. </div>

Etiquetas: espacio
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:02.