¿Cómo quitar el relleno alrededor del ion-item?

4 minutos de lectura

Avatar de usuario de Aditya
Aditya

Quiero quitar padding de mi artículo de iones para que pueda ocupar todo el width de la pagina

Mire en las herramientas de desarrollo para ver el padding alrededor del elemento de iones.

<ion-content padding>
  <ion-list>
    <ion-item>
      <ion-thumbnail>
        <img class="imgmg" src="https://stackoverflow.com/questions/49569679/...">
      </ion-thumbnail> 
      <h2>Text</h2>
    </ion-item>
  </ion-list>
</ion-content>

El ion-item tiene un relleno de 16px, cuando inspecciono el ion-item y también en class=”scroll-content” allí encontré scss en el inspector con

ion-app.md [padding] .scroll-content {
    padding: 16px;
}

Si elimino este relleno, entonces ion-item puede ocupar todo el ancho eliminando este relleno, pero cuando uso esto en mi archivo scss, el relleno no se elimina.

  • intenta agregar un id = 'ion-overrides' o como quieras llamarlo a tu elemento de cuerpo y luego en tu scss cambia el ion-app.md [padding] .scroll-content {...} a #ion-overrides ion-app.md [padding] .scroll-content {...}. Es posible que deba especificar el elemento con más detalle porque el css para los elementos de iones se agrega después del suyo y, por lo tanto, anula su css.

    – Jeremy

    30 de marzo de 2018 a las 6:44


  • pero, ¿cómo puedo agregar la identificación a ion-app .md?

    – Aditya

    30 de marzo de 2018 a las 6:46

  • @Aditya resuelvo tu problema por favor revísalo

    – Utpaul

    30 de marzo de 2018 a las 14:50

Para aquellos que usan ionic 4, deben usar Utilidades Ionic CSS para relleno

En resumen, tienes que codificar esto:

<ion-item class="ion-no-padding">
  <ion-thumbnail>
    <img class="imgmg" src="https://stackoverflow.com/questions/49569679/...">
  </ion-thumbnail> 
  <h2>Text</h2>
</ion-item>

Si desea quitar el acolchado interior, use ion-item propiedades CSS personalizadas:

ion-item {
  --padding-end: 0px;
  --inner-padding-end: 0px;
  // here other custom CSS from documentation
}

  • Esta es una respuesta mucho más completa que la aceptada.

    – Simón Barker

    11 de mayo de 2020 a las 8:04

  • Un problema que tuve es que los estaba colocando en un elemento interno (hijo) y estos deben ir en el elemento ion-item (principal). Para que esto funcione. ¡Facepalm!

    – BHinkson

    23 de junio de 2020 a las 16:50

Avatar de usuario de Utpaul
Utpaul

puedes resolver ion-item relleno de diferente manera…

Primero: usar la clase ion-no-padding

<ion-item class="ion-no-padding">
  <ion-thumbnail>
    <img class="imgmg" src="https://stackoverflow.com/questions/49569679/...">
  </ion-thumbnail> 
  <h2>Text</h2>
</ion-item>

Segundo: usar css o estilo en línea

<ion-item style="padding:0px !important;">
  <ion-thumbnail>
    <img class="imgmg" src="https://stackoverflow.com/questions/49569679/...">
  </ion-thumbnail> 
  <h2>Text</h2>
</ion-item>

Editar : Como Ionic 5.X debemos usar utilidades CSS por clase en lugar de atributos ( iónico/BREAKING.md ).

  • Esta solución para ionic 3 @WoIIe

    – Utpaul

    11/09/2019 a las 17:30

  • El método 1 funciona para la mayor parte del relleno. Pero no parece anular el css lógico, por lo que me quedo con un relleno calculado adjunto a la propiedad padding-inline-end en la clase item-inner. ¿Alguien ha encontrado una solución a esto? padding-inline-end: calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));

    – Buscando Dinero

    10/03/2020 a las 20:40


  • ionicframework.com/docs/api/item#css-custom-properties Tiene todas las propiedades y variables css4.

    – Nikola Noxious Dimitrov

    25 de marzo de 2020 a las 21:19

  • Para Ionic 5.X, ¿qué debo hacer si deseo usar margin y text-rightsolo puedo tener una clase.

    – BanAnanas

    6 de agosto de 2020 a las 15:36


  • @BanAnanas, ¿puedes agregar más de una clase? Si alguien no le prohíbe usar más de una clase, puede agregar varias clases separándolas con “ (espacio), es decir class="class1 class2 classN"

    usuario12299366

    16 de septiembre de 2020 a las 9:57

Tuve que usar personalizado propiedades CSS por artículo de iones

ion-item {
  --inner-padding-bottom: 0;
  --inner-padding-end: 0;
  --inner-padding-start: 0;
  --inner-padding-top: 0;
}

Avatar de usuario de Abinesh Joyel
abines joyel

simplemente no proporcione relleno al elemento de iones, eliminará el relleno

<ion-item no-padding>
  <ion-thumbnail>
    <img class="imgmg" src="https://stackoverflow.com/questions/49569679/...">
  </ion-thumbnail> 
  <h2>Text</h2>
</ion-item>

Consulte el iónico documentos

También tenía el mismo problema enloquecedor. Resulta que ion-item tiene algunas reglas de relleno interno que deben anularse para evitar que aparezca relleno en sus elementos secundarios.

ingrese la descripción de la imagen aquí

Así como agregar el

class="ion-no-padding"

También necesitaba agregar la siguiente regla de estilo css

--inner-padding-end: 0 !important;

Haciendo el elemento final

<ion-item *virtualItem="let section" lines="none" class="ion-no-padding" style="--inner-padding-end: 0 !important;">
...

Avatar de usuario de Dylan w
dylan w

Si prefiere no agregar ningún relleno a cada elemento de iones, elimínelo para toda la aplicación.

Para v4 iónicopuede agregar esto a global.scss:

ion-item {
    --padding-start: 0;
}

Fuente: https://ionicframework.com/docs/api/item#css-custom-properties

Eliminar el relleno del contenido de la página resuelve el problema

<ion-content> 
  <ion-list>
    <ion-item>
      <ion-thumbnail>
        <img class="imgmg" src="https://stackoverflow.com/questions/49569679/...">
      </ion-thumbnail> 
      <h2>Text</h2>
    </ion-item>
  </ion-list>
</ion-content>

  • Explique por qué su respuesta resuelve el problema inicial y también agregue algún ejemplo si es necesario.

    – pom12

    30 de marzo de 2018 a las 11:51

¿Ha sido útil esta solución?