es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El icono de Material desaparece dentro de la etiqueta

Quiero mostrar un icono junto a un fragmento de texto, pero el icono parece desaparecer. Esto es lo que tengo:

    <div class="d-flex align-items-center mt-1">
        <span class="ml-3">
          Mi texto, blah blah blah <i class="material-icons text-info cursor-help">info_outline</i>
        </span>
    </div>

El icono no se muestra. Cuando voy a inspeccionar la página, ni siquiera está en el HTML fuente. Cuando hago esto:

    <div class="d-flex align-items-center mt-1">
        <span class="ml-3">
          Mi texto, blah blah blah
        </span> 
        <i class="material-icons text-info cursor-help">info_outline</i>
    </div>

y saco el icono del span, sí aparece, sin embargo, está en el lugar equivocado.

Me gustaría saber por qué el icono no se muestra en primer lugar. Avíseme si necesito proporcionar más información. ¡Gracias!

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que el icono desaparece porque se incluye dentro del elemento <span>. La etiqueta <span> es un elemento en línea, lo que significa que ocupará solo el espacio en la página que ocupen sus contenidos. De forma predeterminada, el elemento <span> no aceptará elementos de nivel de bloque como <i>.

    Para solucionar esto, puedes cambiar el elemento <span> a un elemento de nivel de bloque, o envolver el texto y el icono en elementos <span> separados. Aquí tienes un ejemplo que utiliza elementos <span> separados:

    <div class="d-flex align-items-center mt-1">
      <span class="ml-3">Mi texto, bla bla bla</span>
      <span><i class="material-icons text-info cursor-help">info_outline</i></span>
    </div>
    

    Esto debería mostrar el icono junto al texto sin que desaparezca.

    Si deseas mantener el texto y el icono en la misma línea, puedes utilizar CSS para dar estilo a los elementos <span> y mostrarlos como elementos en línea bloque:

    <div class="d-flex align-items-center mt-1">
      <span class="ml-3" style="display: inline-block;">Mi texto, bla bla bla</span>
      <span style="display: inline-block;"><i class="material-icons text-info cursor-help">info_outline</i></span>
    </div>
    

    Esto debería mantener el texto y el icono juntos en la misma línea.

Comments are closed.