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

544
Vistas
¿Cómo creo un ícono de calendario que elija fechas, pero no muestre la entrada en javascript/html/css puro?

Mi meta

El calendario aparece cuando se presiona el icono del calendario

que hay disponible

ingrese la descripción de la imagen aquí

Esto se hace usando una simple entrada de calendario.

 <input type="date">

He intentado reducir el ancho de la entrada, pero luego no parece elegante ya que se deforma en diferentes navegadores. Las imágenes anteriores estaban en cromo. A continuación se muestra cómo aparece en Mozilla.

ingrese la descripción de la imagen aquí

Creo que podría especificar el ancho para cada navegador. Sin embargo, eso parece poco elegante y complicado.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

En la mayoría de los navegadores modernos , puede usar el método showPicker() de un elemento input[type=date] para hacer que aparezca el widget.

Entonces, con eso en mente, puede mover <input> fuera de un contenedor con overflow:hidden y activar el widget desde un evento de click en otro elemento.

Algo como el fragmento a continuación podría funcionar, aunque realmente no sugeriría usar esto en una aplicación web pública debido al soporte limitado:

 let cal = document.querySelector('label.calendar'); let ci = document.querySelector('label.calendar input[type=date]'); cal.addEventListener('click', event => ci.showPicker());
 label.calendar { overflow: hidden; user-select: none; cursor: pointer; } label.calendar input { position: absolute; bottom: 100%; left: 0; border: 0; padding: 0; outline: none; }
 <label class="calendar"> <input type="date"> <span>🗓</span> </label>

En su lugar, le recomendaría que busque otras opciones (más maduras) como Smart HTML Calendar , que es un elemento HTML personalizado .

about 4 years ago · Juan Pablo Isaza Denunciar

0

Lo que está tratando de lograr no es posible hacerlo en una solución para cada navegador porque el navegador representa el tipo de entrada "fecha" y cada uno de ellos tiene su propia especificación sobre cómo representar las cosas. Puede intentar usar un componente o complemento personalizado que represente un calendario usando javascript/CSS/HTML, que es la única forma de tener una apariencia uniforme en diferentes navegadores.

about 4 years ago · Juan Pablo Isaza 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