自定义html5中日期选取器的样式

news2024/11/27 6:42:34

自定义html5中日期选取器的样式

  • 1. 前言
    • 1.1 关于 h5 的新特性
    • 1.2 使用浏览器
  • 2. html5中日期选取器默认样式
  • 3. 自定义日期样式
    • 3.1 简单定义
    • 3.2 花式样式定义
  • 4. 改变日期格式
  • 5. 参考
  • 6. 关于低版本浏览器隐藏小三角

1. 前言

1.1 关于 h5 的新特性

  • 可看下面的文章
    HTML5 新特性之HTML5 的输入(input)类型(h5没有vue也能实现你想要的炫酷).

    H5新特性之h5的新标签 以及 全局属性contenteditable.

1.2 使用浏览器

  • 说明:
    下面都是在谷歌浏览器上测试的,其他浏览器可能不一样,自己测试看

2. html5中日期选取器默认样式

  • 默认样式如下:
    <input type="date" id="myDate">
    
    在这里插入图片描述
    在这里插入图片描述

3. 自定义日期样式

3.1 简单定义

  • 简单修改日期样式的代码如下:
    <style>
        /* 设置 整个日期选择器 外边框的样式 + 年月日字体及日历选择器指示器的大小 */
        input[type="date"] {
            border: 3px solid #c69d9d;
            border-radius: 10px;
            padding: 8px;
            font-size: 16px;
        }
    
        /* 自定义 日历选择器指示器 的样式 */
        input[type="date"]::-webkit-calendar-picker-indicator { 
            /* 设置立体感的边框 */
            border: 1px solid #890404;
            background-color: #1d0909;
            border-radius: 5px;
            box-shadow: inset 0 1px #722222, 0 1px #732323;
            
            /* 设置边框里面的颜色 */
            background-image: -webkit-linear-gradient(top, green, green);
    
            /* 设置 日历选择器指示器 的大小,如果这里不指定就取上面设置的16px */
            font-size: 20px;
        }
    
    </style>
    
      <label for="myDate">选择日期:</label>
      <input type="date" id="myDate">
    
  • 效果如下:
    在这里插入图片描述

3.2 花式样式定义

  • 感觉没必要,但是可以了解,效果如下:
    在这里插入图片描述
  • 完整代码如下:
    <!DOCTYPE html>
    <html>
    <head>
      <style>
    
        /* 设置 整个日期选择器 外边框的样式 以及 年月日字体的大小 */
        input[type="date"] {
            border: 3px solid #c69d9d;
            border-radius: 10px;
            padding: 8px;
            font-size: 18px;
        }
    
        /* 设置年月日的外边框为黑色边框 */
        input[type="date"]::-webkit-datetime-edit { 
            padding: 2px; 
            /* background: #000000;  */
            border: #1d0909 solid 2px;
            margin-right: 13px;
    
            /* 设置 年月日 的大小,如果这里不指定就取上面设置的18px */
            /* font-size: 20px; */
        } 
    
        /* 设置年月日的背景 */
        input[type="date"]::-webkit-datetime-edit-fields-wrapper { 
            background-color: #9a9595; 
            /* padding-right: 12px; */
        } 
    
        /* text的padding(年月日的padding) */
        input[type="date"]::-webkit-datetime-edit-text { 
            padding: 0.3em; 
            /* 年月日分隔符“/”的颜色 */
            color: #2964d3; 
            /* direction: rtl; */
            /* unicode-bidi: bidi-override; */
        } 
    
        /* 年的颜色 */
        input[type="date"]::-webkit-datetime-edit-year-field { 
            color: purple; 
        } 
    
        /* 月的颜色 */
        input[type="date"]::-webkit-datetime-edit-month-field { 
            color: blue; 
        } 
    
        /* 日的颜色 */
        input[type="date"]::-webkit-datetime-edit-day-field { 
            color: green; 
        } 
    
        /* 隐藏按钮 
           注意,-webkit-inner-spin-button只适用于Webkit浏览器,如果要实现在其他浏览器中隐藏箭头按钮,可能需要使用其他方法或属性。
        */
        /* input[type="date"]::-webkit-inner-spin-button { 
            visibility: hidden; 
        }  */
    
        /* 自定义 日历选择器指示器 的样式 */
        input[type="date"]::-webkit-calendar-picker-indicator { 
            /* 设置立体感的边框 */
            border: 1px solid #890404;
            background-color: #1d0909;
            border-radius: 5px;
            box-shadow: inset 0 1px #722222, 0 1px #732323;
            
            /* 设置边框里面的颜色 */
            background-image: -webkit-linear-gradient(top, green, green);
    
            /* 设置 日历选择器指示器 的大小,如果这里不指定就取上面设置的18px */
            /* font-size: 25px; */
        }
    
      </style>
    </head>
    <body>
    
      <label for="myDate">选择日期:</label>
      <input type="date" id="myDate">
     
    </body>
    </html>
    

4. 改变日期格式

  • 想实现渲染成yyyy-MM-dd的格式,但是没实现,不知道怎么在原控件中实现。
  • 也可以用一个很low的方式暂且凑合,如下:
    <body>
    
        <form>
            <label for="myDate">选择日期:</label>
            <input type="date" id="myDate">
            <input type="text" id="formattedDate">
        </form>
    
        <script>
            document.getElementById('myDate').addEventListener('input', function() {
                var inputDate = this.value;
                //   var formattedDate = inputDate.split('-').reverse().join('-');
                // document.getElementById('formattedDate').innerText = formattedDate;
                var formattedDate = inputDate.split('-').join('-');
                document.getElementById('formattedDate').value = formattedDate;
            });
        </script>
    
    </body>
    
    在这里插入图片描述

5. 参考

  • html如何改变日期样式,html如何修改日期样式.

6. 关于低版本浏览器隐藏小三角

  • 代码实现如下:

    <!DOCTYPE html>
    <html>
    <head>
    
      <style>
        /* input[type="date"] {
            position: relative;
        } */
    
        /* 隐藏上下小箭头三角 */
        input[type="date"]::-webkit-inner-spin-button{
            visibility: hidden;
        }
    
        /* 设置透明度 隐藏 日历选择器指示器 的小三角 */
        input[type="date"]::-webkit-calendar-picker-indicator { 
            position: relative;
            /* width: 45px;
            height: 35px; */
    
            /* 设置透明度 */
            opacity:0;
    
            /* 这里要大于背景图 */
            z-index:1;
        }
    
        input[type="date"]::after{
            content: '';
            position: absolute;
            width: 5%; 
            height: 5%;
            /* top: 20px; */
            /* right: 19px;
            top: 5px; */
            padding-left: 105px;
            background: url('date.png') no-repeat right center;
        }
      </style>
    </head>
    <body>
    
      <label for="myDate">选择日期:</label>
      <input type="date" id="myDate">
      
    </body>
    </html>
    
  • 我这里是高版本的浏览器,没有那个小箭头,所以,具体可参考下面的一篇文章:
    input type为date时,设置背景图片并隐藏小三角和小箭头.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1349404.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

算法基础之能被整除的数

能被整除的数 核心思想&#xff1a; 容斥原理 总面积 1-23-4…. 总集合元素中个数 1-23-4…. #include<iostream>#include<cstring>#include<algorithm>using namespace std;const int N 20;typedef long long LL;int p[N];int main(){int n,m;cin&…

L1-075:强迫症

题目描述 小强在统计一个小区里居民的出生年月&#xff0c;但是发现大家填写的生日格式不统一&#xff0c;例如有的人写 199808&#xff0c;有的人只写 9808。有强迫症的小强请你写个程序&#xff0c;把所有人的出生年月都整理成 年年年年-月月 格式。对于那些只写了年份后两位…

Qt重载事件

重载event 事件类型 (EventType) 事件类型是 QEvent 类的一个枚举 &#xff0c;包含了 Qt 能够处理的所有不同类型的事件。这个枚举包括但不限于以下常见类型&#xff1a; QEvent::MouseButtonPress: 鼠标按钮按下事件。QEvent::MouseButtonRelease: 鼠标按钮释放事件。Q…

BikeDNA(三) OSM数据的内在分析2

BikeDNA&#xff08;三&#xff09; OSM数据的内在分析2 1.数据完整性 见上一篇BikeDNA&#xff08;二&#xff09; OSM数据的内在分析1 2.OSM标签分析 见上一篇BikeDNA&#xff08;二&#xff09; OSM数据的内在分析1 3.网络拓扑结构 本节探讨数据的几何和拓扑特征。 例…

2023年“中银杯”四川省职业院校技能大赛“云计算应用”赛项样题卷②

2023年“中银杯”四川省职业院校技能大赛“云计算应用”赛项&#xff08;高职组&#xff09; 样题&#xff08;第2套&#xff09; 目录 2023年“中银杯”四川省职业院校技能大赛“云计算应用”赛项&#xff08;高职组&#xff09; 样题&#xff08;第2套&#xff09; 模块…

基于grpc从零开始搭建一个准生产分布式应用(8) - 01 - 附:GRPC公共库源码

开始前必读&#xff1a;​​基于grpc从零开始搭建一个准生产分布式应用(0) - quickStart​​ common包中的源码&#xff0c;因后续要用所以一次性全建好了。 一、common工程完整结构 二、引入依赖包 <?xml version"1.0" encoding"UTF-8"?> <p…

【Pytorch】Pytorch或者CUDA版本不符合问题解决与分析

NVIDIA CUDA Toolkit Release Notes Package installation issues INSTALL PYTORCH 先声毒人&#xff1a;最好资料就是上面三份资料&#xff0c;可以通过官网明确的获取一手信息&#xff0c;你所遇到的99%的问题都可以找到&#xff0c;明确的解决方案&#xff0c;建议最好看…

2024主流的免费电脑数据恢复软件EasyRecovery

EasyRecovery绿色版是一款非常专业的电脑数据恢复工具。它可以全面恢复删除丢失数据&#xff0c;能对电脑误删文件恢复、格式化硬盘数据恢复、手机U盘数据恢复等&#xff0c;能恢复包括文档、表格、图片、音视频等各种文件&#xff0c;此版本经过处理&#xff0c;可永久免费使用…

[ffmpeg系列 02] 音视频基本知识

一 视频 RGB&#xff1a; AV_PIX_FMT_RGB24, ///< packed RGB 8:8:8, 24bpp, RGBRGB… Y&#xff1a;明亮度, Luminance或luma, 灰阶图&#xff0c; UV&#xff1a;色度&#xff0c;Chrominance或Chroma。 YCbCr: Cb蓝色分量&#xff0c;Cr是红色分量。 取值范围&#xff…

【索引的数据结构】第1章节:B+Tree存储结构

目录结构 之前整篇文章太长&#xff0c;阅读体验不好&#xff0c;将其拆分为几个子篇章。 本篇章讲解 BTree 存储结构。 什么是索引 可以简单理解为索引好比一本书的目录&#xff0c;通过目录我们可以快速定位到我们要查看的章节。 MySQL 中的数据同样也是根据索引分类&…

ROS TF坐标变换 - 位姿描述与消息类型

目录 一、位姿描述二、位姿相关消息体类型2.1 geometry_msgs/TransformStamped2.2 geometry_msgs/PoseStamped 在机器人系统中&#xff0c;有许多运动机构和传感器&#xff0c;为了描述他们之间的相对位姿关系&#xff0c;分别为他们定义了各自的坐标系&#xff0c;通过坐标系转…

合伙企业法关于合伙企业的要求

合伙协议可以载明合伙企业的经营期限和合伙人争议的解决方式。 合伙协议经全体合伙人签名、盖章后生效。合伙人依照合伙协议享有权利&#xff0c;承担责任。 经全体合伙人协商一致&#xff0c;可以修改或者补充合伙协议。 申请合伙企业设立登记&#xff0c;应当向企业登记机关提…

B2005 字符三角形(python)

a input() print( a) print( a a a) print(a a a a a)python中默认输入的是字符型&#xff0c;第一句就是输入了一个字符赋给a python中单引号内的也是字符串&#xff0c;用print输出需要连接的字符串时用加号加在后面即可

Spring通信传参的方法

Spring通信传参的方法 目录概述需求&#xff1a; 设计思路实现思路分析1.简单参数传递2.复合参数3.动态参数 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect code,full busy&#xff0c;skip hardness,make a better resul…

爬虫基础一(持续更新)

爬虫概念&#xff1a; 通过编写程序&#xff0c;模拟浏览器上网&#xff0c;然后让其去互联网上抓取数据的过程 分类&#xff1a; 1&#xff0c;通用爬虫&#xff1a;抓取一整张页面数据 2&#xff0c;聚焦爬虫&#xff1a;抓取页面中的局部内容 3&#xff0c;增量式爬虫&…

消息中间件常见知识点

一&#xff1a;消息队列的主要作用是什么&#xff1f; 1.消息队列的特性&#xff1a; 业务无关&#xff0c;一个具有普适性质的消息队列组件不需要考虑上层的业务模型&#xff0c;只做好消息的分发就可以了&#xff0c;上层业务的不同模块反而需要依赖消息队列所定义的规范进行…

JVM篇:JVM的简介

JVM简介 JVM全称为Java Virtual Machine&#xff0c;翻译过来就是java虚拟机&#xff0c;Java程序&#xff08;Java二进制字节码&#xff09;的运行环境 JVM的优点&#xff1a; Java最大的一个优点是&#xff0c;一次编写&#xff0c;到处运行。之所以能够实现这个功能就是依…

go语言语法基础

文章目录 前言一、输入和输出常用的字符串格式化符号 二、注释三、Go常用基本语言数据类型数字类型布尔类型字符类型变量与常量数组和切片数组切片 map类型创建map增删改查特别提醒 指针 四、运算符五、条件判断语句if系列switch六、循环语句for循环标准写法死循环while循环do …

java设计模式学习之【观察者模式】

文章目录 引言观察者模式简介定义与用途实现方式 使用场景优势与劣势在Spring框架中的应用观察者示例代码地址 引言 想象你在一个在线拍卖会上竞标一件珍贵的艺术品。每当有人出价更高&#xff0c;系统都会立即通知你。这个实时更新机制使你可以做出快速反应。这种模式&#x…

Linux之进程管理

什么是进程 在linux中每个执行的程序都称为一个进程&#xff0c;每个进程都分配一个ID号&#xff08;pid进程号&#xff09;。每个进程都可能以两种方式存在&#xff0c;即前台和后天。前台进程就是用户目前的屏幕上可以进行操作的。后台进程则是实际在操作&#xff0c;但屏幕…