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

258
Visualizações
Oculte todo el bloque de texto cuando ya no quepa

Mi texto parece ocultar por defecto piezas particulares que no encajan en un div. Me gustaría que todo el bloque desapareciera una vez que ya no quepa.

¿Hay alguna manera de hacer esto?

Aquí hay una aplicación de muestra de lo que tengo actualmente:

 const App = () => { return ( <div className='container'> <p className='text'> If you don't fit you need to be hidden. If you don't fit you need to be hidden.If you don't fit you need to be hidden.If you don't fit you need to be hidden.If you don't fit you need to be hidden.If you don't fit you need to be hidden.If you don't fit you need to be hidden.If you don't fit you need to be hidden.If you don't fit you need to be hidden.If you don't fit you need to be hidden.If you don't fit you need to be hidden.If you don't fit you need to be hidden.If you don't fit you need to be hidden.If you don't fit you need to be hidden.If you don't fit you need to be hidden.If you don't fit you need to be hidden.</p> </div> ) } ReactDOM.render( <App />, document.getElementById('app') );
 .container { border: 1px solid red; height: 150px; width: 150px; overflow: hidden; }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.8.0/umd/react.production.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.8.0/umd/react-dom.production.min.js"></script> <div id="app"></div>

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

0

TL; DR: ejemplo de trabajo aquí .


No creo que haya una forma css de hacer esto, pero como estás usando React, puedes aprovechar las referencias y calcular el tamaño del elemento.

1. Obtenga una referencia al elemento

Tenga en cuenta que no puede usar un useRef estándar (hasta donde yo sé), porque los cambios en estos no activan una nueva representación, por lo que React no sabrá cuándo se desborda su contenedor. En su lugar, puede usar una referencia de devolución de llamada y almacenarla en el estado.

 const [textRef, setTextRef] = useState(null); ... <div ref={(newRef) => setTextRef(newRef)} className="container"> ... </div>

2. Comprueba si se desborda

Ahora que tiene una referencia al elemento, puede calcular si se desborda o no comparando las propiedades scrollHeight y offsetHeight .

 const overflows = textRef.scrollHeight > textRef.offsetHeight;

3. Almacenar información en estado

Tienes que hacer esto dinámicamente cuando el elemento cambia, así que colócalo en un useEffect con textRef como una dependencia. Luego almacene la propiedad "desbordamientos" en el estado para usarla más tarde.

 const [overflows, setOverflows] = useState(false); useEffect(() => { if (textRef) { const overflows = textRef.scrollHeight > textRef.offsetHeight; setOverflows(overflows); } }, [textRef]);

4. Renderizar condicionalmente

Ahora que sabe si un elemento se desborda y tiene esa información en el estado, simplemente puede representar el elemento de forma condicional.

 <div ref={(newRef) => setTextRef(newRef)} className="container"> {!overflows && <p className="text">If you don't fit you need to be hidden...</p>} </div>

Mire este ejemplo de trabajo donde puede ver que un elemento se muestra porque tiene menos texto y cabe, mientras que el otro está oculto porque se desborda.

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