Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

189
Views
Transición con el conflicto de cambio de tamaño de Textarea

Cuando aplico la transition al área de textarea , por defecto afecta la función de cambio de resize . Quiero deshabilitar la transition solo en la acción de cambio de resize del área de textarea , pero no en el textarea en sí misma. ¿Es esto posible de hacer?

 <textarea name="" id="" class="txtarea"></textarea> .txtarea { transition: 3s; resize: vertical; height: 140px; max-height: 350px; min-height: 140px; }

No estoy dispuesto a deshabilitar la transition por completo para el área de textarea , sino solo para la acción de cambio de resize

Sería muy bueno tener una solución CSS, pero si no, JS también estará bien.

about 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Puede incluir en la lista blanca un conjunto de propiedades de transition que necesite, por ejemplo, color , y simplemente omitir la height de esa lista (el valor predeterminado para transition-property es all ).

Observe en el fragmento a continuación cómo la propiedad de color cambia suavemente, mientras que el cambio de tamaño ocurre instantáneamente.

 .txtarea { transition: color 3s; resize: vertical; height: 140px; max-height: 350px; min-height: 140px; } .txtarea:focus { color: #f00; font-size: 1.5em; }
 <textarea name="" id="" class="txtarea"></textarea>


Si ambos eventos requieren que cambie la propiedad de height , puede ajustar dinámicamente textarea.style.transitionProperty cuando desee activar el cambio suave:

 var textarea = document.querySelector('textarea') var token function reset (e) { e.style.transitionProperty = '' } function setHeightSmooth (px) { clearTimeout(token) textarea.style.transitionProperty = 'all' textarea.style.height = px + 'px' token = setTimeout(reset, 3000, textarea) }
 .txtarea { transition: color 3s; resize: vertical; height: 140px; max-height: 350px; min-height: 140px; } .txtarea:focus { color: #f00; }
 <button onclick="setHeightSmooth(350)">Expand</button> <button onclick="setHeightSmooth(140)">Collapse</button> <br> <textarea name="" id="" class="txtarea"></textarea>

about 4 years ago · Santiago Trujillo Report

0

No estoy del todo seguro de haber entendido la pregunta correctamente, pero mi interpretación es que quieres transición para todo excepto la altura. Entonces una solución css simple es esta:

 .txtarea { transition: all 3s, height 0s; }

Sé que es un poco tarde, pero tal vez esto ayude a alguien con la misma pregunta.

about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!