css修改input框默认样式(date)

本文介绍如何通过CSS和JavaScript调整HTML中input[type=date]元素的样式,包括更改图标位置、隐藏默认日期显示并使用自定义占位符。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目场景:

如图,需求方要求input框的日期选择器修改成如下格式,默认样式如底部
在这里插入图片描述
在这里插入图片描述



解决方案:

以下为修改步骤:

  1. 替换日期选择器icon,并将其移到左边
input[type="date"] {
  display: flex;
  padding-left: 10px;
  padding-right: 550px;
  font-size: 16px;
  line-height: 24px;
}

input[type="date"]::-webkit-calendar-picker-indicator {
  position: relative;
  left: -120px;
  background-image: url("../assets/img/submitInfo/日期选择器.png");
}

在这里插入图片描述

  1. 隐藏年月日,显示placeholder
input[type="date"]:before {
  content: attr(placeholder);
  padding-left: 20px;
}

在这里插入图片描述
可以看到此时还有如下问题,placeholder成功显示,但是此时默认的年月日还在显示

  1. 当选择日期后,placeholder隐藏,默认日期格式显示
input[type="date"].selected:before  {
  content: "" !important;
}
  let itemRightDate = document.querySelector("input[type=date][name=date]");
	
   itemRightDate.addEventListener("input", function (e) {
    let {
      target: { value },
    } = e;

    if (value.length > 0) {
      e.target.classList.add("selected");
    } else {
      e.target.classList.remove("selected");
    }
  });

在这里插入图片描述

  1. 针对placeholder显示时默认的年月日显示且被截断
input[type="date"]::-webkit-datetime-edit-year-field {
  position: relative;
  left: 10px;
}

在这里插入图片描述
5. placeholder样式和设计稿不符

input[type="date"]:before {
  content: attr(placeholder);
  padding-left: 20px;
  color: var(--gray-rgba-116116116);
  font-size: 16px;
  line-height: 22px;
}

在这里插入图片描述
可以看到已经满足要求了,录区域视频再转gif太麻烦了,截图也能表现出来~

  1. 最终完整版样式
input[type="date"] {
  display: flex;
  padding-left: 10px;
  padding-right: 550px;
  font-size: 16px;
  line-height: 24px;
}

input[type="date"]:before {
  content: attr(placeholder);
  padding-left: 20px;
  color: var(--gray-rgba-116116116);
  font-size: 16px;
  line-height: 22px;
}

input[type="date"].selected:before  {
  content: "" !important;
}

input[type="date"]::-webkit-datetime-edit-year-field {
  position: relative;
  left: 10px;
}

input[type="date"]::-webkit-calendar-picker-indicator {
  position: relative;
  left: -120px;
  background-image: url("../assets/img/submitInfo/日期选择器.png");
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值