Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

202
Vistas
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.

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

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>

over 4 years ago · Santiago Trujillo Denunciar

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.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda