Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

210
Visualizações
Mostrar/Ocultar elementos html según el tamaño del contenedor o la funcionalidad de ajuste

¿Cómo ocultaría dinámicamente múltiples elementos según el tamaño del contenedor para que no se ajuste?

Me explico con algunas capturas de pantalla:

etiquetas no envueltas

etiquetas envueltas

Tengo una cantidad no predecible de etiquetas con tamaño aleatorio y, básicamente, me gustaría agregar una clase d-none a todos los elementos más recientes hasta que el contenedor no esté envuelto. El último elemento sería un botón de alternancia para mostrar/ocultar elementos ocultos. La segunda captura de pantalla muestra lo que quiero evitar, el contenedor no debe envolverse, siempre debe estar en una línea.

Es un proyecto de React, probé varias cosas, como usar useRef para obtener el tamaño de cada etiqueta, pero no puedo ocultar solo los elementos más recientes.

Aquí hay una muestra del código:

 <div class="row"> <div class="col"> <span class="badge bg-white">zetze</span> <span class="badge bg-white">fsdfdsfsd</span> <span class="badge bg-white">fdsfdsfsd</span> <span class="badge bg-white">gfgfgdfgdf</span> <span class="badge bg-white d-none">gfdgdfn</span> <span class="badge bg-white d-none">rtetret</span> <button type="button" class="btn show-more"><i class="fe fe-plus"></i></button> </div> </div>

Para explicarlo con el código anterior, me gustaría que mi elemento div.col nunca se ajuste a una segunda línea y agregue clases d-none (ocultarlas) a todos los elementos secundarios que excedan, excepto el botón.

¿Tienes una idea de cómo lograr esto? Cualquier pista será apreciada.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Bueno, no hay forma de hacer que CSS dependa de la extensión de un lapso en los navegadores actuales (que yo sepa). Al menos puedes evitar que se ajuste con white-space: nowrap;

Entonces necesitará JS para esto, usando algo como offsetWidth . Estoy usando Vue, por lo que no puedo dar ningún detalle, pero renderizaría los Elementos de intervalo a partir de una matriz de objetos que tienen una propiedad oculta, y después de calcular cuánto espacio queda, apaga los intervalos, que van más allá del div padre. Por supuesto, también querrá vincular datos al botón mostrar más, ya que no siempre está visible. Tenga cuidado de hacer el cálculo cuando DOM finalmente se haya renderizado. Estoy seguro de que hay un gancho para eso en React-Lifecycle.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda