html - IE11 - CSS Grid - Justificar elementos: el centro no funciona

CorePress2024-01-24  11

Sé que existe una propiedad para alinear automáticamente un elemento en IE con -ms-grid-row-align & -ms-grid-column-align pero estoy buscando la propiedad justify-content o justify-items para poder centrar todos los elementos a la vez.

¿Hay alguna manera de hacer que esto funcione en IE11? Y si no, ¿cuál es la alternativa?

El siguiente fragmento de código centrará el contenido en,

firefox y cromo

.section_test {
  display: grid;
  display: -ms-grid;
  justify-content: center;
}

.section_test > article {
}
<html>
  <head>
    <title>test</title>
  </head>

  <body>
    <section class="section_test">
      <article>
        Test the Article
      </article>
    </section>
  </body>
</html>

Gracias.



------------------------------------

Puedes intentar usar la antigua combinación de absoluto y transformación.

.section_test {
    position: relative;
    height: 100px;
    background-color: gray;
}
article {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
<section class="section_test">
  <article>
    Test the Article
  </article>
</section>

4

¿Esto afectará el CSS de otros navegadores cuando se aplique con un Grid?

- Ahmed

29 de marzo de 2021 a las 2:59

@Ahmed Estoy de acuerdo con la respuesta de Gil. Puede apuntar a IE solo en estilo CSS usando @media all y (-ms-high-contrast: none), (-ms-high-contrast: active) { /* Los estilos CSS de IE10+ van aquí */ }.

- Yu Zhou

29 de marzo de 2021 a las 8:48

@YuZhou - ¿Podrías poner esto también en una respuesta separada? Quizás un ejemplo pueda ilustrar cómo puedo utilizar esta etiqueta con mayor claridad. Gracias

- Ahmed

29/03/2021 a las 15:59

@Ahmed. Agregué una respuesta.

-Yu Zhou

30 de marzo de 2021 a las 7:13



------------------------------------

Puedes apuntar a IE solo en estilo CSS usando la consulta de medios. Debido a que -ms-high-contrast es específico de Microsoft (y solo está disponible en IE 10+), solo se analizará en Internet Explorer 10+. Puedes consultar mi ejemplo de código:

.section_test {
  display: grid;
  display: -ms-grid;
  justify-content: center;
}

@media all and (-ms-high-contrast: none),
(-ms-high-contrast: active) {
  /* IE10+ CSS styles go here */
  .section_test {
    position: relative;
    height: 100px;
  }
  article {
    position: absolute;
    top: 10%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}
<section class="section_test">
  <article>
    Test the Article
  </article>
</section>

Su guía para un futuro mejor - libreflare
Su guía para un futuro mejor - libreflare