【前端】一个好看的前端页面

article/2024/12/23 7:33:38

序言

突发奇想,看到这个特效还不错,就加工了一下,如果也能帮到你,很开心

先上效果图

部分代码讲解

前端生成uuid

function getUUID(len, radix) {var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('')var uuid = []var iradix = radix || chars.lengthif (len) {for (i = 0; i < len; i++) uuid[i] = chars[0 | Math.random() * radix]} else {var ruuid[8] = uuid[13] = uuid[18] = uuid[23] = '-'uuid[14] = '4'for (i = 0; i < 36; i++) {if (!uuid[i]) {r = 0 | Math.random() * 16uuid[i] = chars[(i === 19) ? (r & 0x3) | 0x8 : r]}}}return uuid.join('')
}

 修改input 原生date icon

   input[type=date]::-webkit-calendar-picker-indicator {/*border: 1px solid #0c1622;*//*border-radius: 2px;*//*box-shadow: inset 0 1px #0c1622, 0 1px #0c1622;*//*background-color: #0c1622;*/background-image: url("dateicon2.svg");/*background-image: -webkit-linear-gradient(top, #f0f0f0, #e6e6e6);*//*color: #0c1622;*/}

icon

可以去阿里矢量库下载想要的图标

地址:iconfont-阿里巴巴矢量图标库

我使用的是下面这个,但是颜色是白色,因为整个背景图是深色,图标需要浅色。

其他修改

1. 去掉 date 中上下小三角,但是保留 input 类型为 number 的小三角

     input[type=date]::-webkit-inner-spin-button { visibility: hidden; }

2. 改变日期(文字)的背景色,或添加背景图
  

 input[type=date]::-webkit-datetime-edit { padding: 1px; background: url(../selection.gif); }

3. 改变日期(文字)的背景色,或添加背景图
 

   input[type=date]::-webkit-datetime-edit-fields-wrapper { background-color: #eee; }

4. 改变 年月日 间距 和 连接符颜色

    input[type=date]::-webkit-datetime-edit-text { color: #4D90FE; padding: 0 .3em; }

5. 改变 年 的颜色
  

 input[type=date]::-webkit-datetime-edit-year-field { color: purple; }

6. 改变 月 的颜色
    

input[type=date]::-webkit-datetime-edit-month-field { color: blue; }

7. 改变 日 的颜色
  

 input[type=date]::-webkit-datetime-edit-day-field { color: green; }

8. 改变选择 年月日 按钮
  

  input[type=date]::-webkit-calendar-picker-indicator {border: 1px solid #ccc;border-radius: 2px;box-shadow: inset 0 1px #fff, 0 1px #eee;background-color: #eee;background-image: -webkit-linear-gradient(top, #f0f0f0, #e6e6e6);color: #666;}

完整代码

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><!-- 引入jQuery库文件 --><script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script><!-- 引入Layer弹窗插件的css文件 --><link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/layui/2.5.6/css/layui.min.css"><!-- 引入Layer弹窗插件的js文件 --><script src="https://cdn.bootcdn.net/ajax/libs/layui/2.5.6/layui.all.js"></script><title>UUID</title><style>* {margin: 0;padding: 0;}a {text-decoration: none;}input,button {background: transparent;border: 0;outline: none;}body {height: 100vh;background: linear-gradient(#141e30, #243b55);display: flex;justify-content: center;align-items: center;font-size: 16px;color: #03e9f4;}.loginBox {width: 400px;height: 600px;background-color: #0c1622;margin: 100px auto;border-radius: 10px;box-shadow: 0 15px 25px 0 rgba(0, 0, 0, .6);padding: 40px;box-sizing: border-box;}h2 {text-align: center;color: aliceblue;margin-bottom: 30px;font-family: 'Courier New', Courier, monospace;}.item {height: 45px;border-bottom: 1px solid #fff;margin-bottom: 40px;position: relative;}.item input {width: 100%;height: 100%;color: #fff;padding-top: 20px;box-sizing: border-box;}.item input:focus+label,.item input:valid+label {top: 0px;font-size: 2px;}.item label {position: absolute;left: 0;top: 12px;transition: all 0.5s linear;}.btn {padding: 10px 20px;margin-top: 30px;color: #03e9f4;position: relative;overflow: hidden;text-transform: uppercase;letter-spacing: 2px;left: 35%;}.btn:hover {border-radius: 5px;color: #fff;background: #03e9f4;box-shadow: 0 0 5px 0 #03e9f4,0 0 25px 0 #03e9f4,0 0 50px 0 #03e9f4,0 0 100px 0 #03e9f4;transition: all 1s linear;}.btn>span {position: absolute;}.btn>span:nth-child(1) {width: 100%;height: 2px;background: -webkit-linear-gradient(left, transparent, #03e9f4);left: -100%;top: 0px;animation: line1 1s linear infinite;}@keyframes line1 {50%,100% {left: 100%;}}.btn>span:nth-child(2) {width: 2px;height: 100%;background: -webkit-linear-gradient(top, transparent, #03e9f4);right: 0px;top: -100%;animation: line2 1s 0.25s linear infinite;}@keyframes line2 {50%,100% {top: 100%;}}.btn>span:nth-child(3) {width: 100%;height: 2px;background: -webkit-linear-gradient(left, #03e9f4, transparent);left: 100%;bottom: 0px;animation: line3 1s 0.75s linear infinite;}@keyframes line3 {50%,100% {left: -100%;}}.btn>span:nth-child(4) {width: 2px;height: 100%;background: -webkit-linear-gradient(top, transparent, #03e9f4);left: 0px;top: 100%;animation: line4 1s 1s linear infinite;}@keyframes line4 {50%,100% {top: -100%;}}.message-box span{background: #e3e3e3;padding: 15px;min-width: 400px;text-align: center;border-radius: 5px;}.failure-box span{color: #ce3645;}.success-box span{color: #3cca58;}input[type=date]::-webkit-calendar-picker-indicator {/*border: 1px solid #0c1622;*//*border-radius: 2px;*//*box-shadow: inset 0 1px #0c1622, 0 1px #0c1622;*//*background-color: #0c1622;*/background-image: url("dateicon2.svg");/*background-image: -webkit-linear-gradient(top, #f0f0f0, #e6e6e6);*//*color: #0c1622;*/}</style>
</head><body>
<div class="loginBox"><h2>Activation UUID</h2><div class="item"><input type="text" id="phoneInput" required><label for="">手机号</label></div><div class="item "><input type="date" id="dateInput"><label for="">有效日期</label></div><div class="item"><input type="password" id="codeInput" required><label for="">密码</label></div><div onclick="acceptCode()"><button class="btn" >生成UUID<span></span><span></span><span></span><span></span></button></div><div class="item" style="padding-top: 30px"><span>UUID</span><div class="result"></div></div>
</div>
</body>
<script>function getUUID(len, radix) {var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('')var uuid = []var iradix = radix || chars.lengthif (len) {for (i = 0; i < len; i++) uuid[i] = chars[0 | Math.random() * radix]} else {var ruuid[8] = uuid[13] = uuid[18] = uuid[23] = '-'uuid[14] = '4'for (i = 0; i < 36; i++) {if (!uuid[i]) {r = 0 | Math.random() * 16uuid[i] = chars[(i === 19) ? (r & 0x3) | 0x8 : r]}}}return uuid.join('')};function acceptCode(){let phoneInput=document.getElementById('phoneInput')let dateInput=document.getElementById('dateInput')let codeInput=document.getElementById('codeInput')let result=document.querySelector(".result")const reg = /^[1][3,4,5,6,7,8,9][0-9]{9}$/;if (!phoneInput.value) {layer.alert('请输入手机号!', {icon: 2,offset: "200px",title: '提示'});return}if (!reg.test(phoneInput.value)) {layer.alert('请输入正确的手机号!', {icon: 2,offset: "200px",title: '提示'});return}if (!dateInput.value) {layer.alert('请选择有效时间!', {icon: 2,offset: "200px",title: '提示'});return}if (!codeInput.value) {layer.alert('请输入密码!', {icon: 2,offset: "200px",title: '提示'});return}if(true){layer.alert('生成成功', {icon: 1,offset: "200px",title: '提示'});result.innerHTML=getUUID(32, 16)}}
</script>
</html>

学习参考:

uuid生成

页面效果

页面效果2

针对input[type=date]属性样式的更改


http://chatgpt.dhexx.cn/article/e5e6RTst.shtml

相关文章

从零学前端第一讲:前端开发是什么?给初学者有什么建议?

这里是修真院前端小课堂&#xff0c;本篇分析的主题是 【从零学前端第一讲&#xff1a;前端开发是什么&#xff1f;给初学者有什么建议&#xff1f;】 初识前端 1、前端开发是什么&#xff1f; 2、前端开发有前途吗&#xff1f; 3、前端开发哪里学&#xff1f; 4、前端发展…

前端是什么

此为小白浅显整合&#xff1a; 一直以来&#xff0c;对前端一直是一个笼统的概念&#xff0c;于是&#xff0c;专门花时间整合了网上各种说法&#xff0c;给自己一个较正确的定位。 前端是什么&#xff1f;&#xff1f; 前端&#xff0c;也称web前端。对于网站来说&#xff0…

怎么才能学好前端?

你如果知道简单的问题要百度&#xff0c;已经强过一部分人了。 至于学习方法&#xff0c;有些经验分享给你&#xff1a; 1.在学习的过程中&#xff0c;最好不是仅仅停留在前端与移动开发表层&#xff0c;不是抄书上的例子运行出结果就可以。要注意&#xff0c;即便对一个简单的…

web 前端入坑第一篇:web前端到底是什么?有前途吗

web前端到底是什么&#xff1f; 某货&#xff1a; “前几年前端开发人员鱼目混杂&#xff0c;技术参差不齐&#xff0c;相对学习起来不规范&#xff0c;导致> 前端开发人员聚集&#xff0c;所以现在前端工种和工资还是没得到普遍重视&#xff0c;但近2年来&#xff0c;> …

前端工程化详解——理解与实践前端工程化

前言&#xff1a; 前端工程化一直是一个老生常谈的问题&#xff0c;不管是面试还是我们在公司做基建都会经常提到前端工程化&#xff0c;那么为什么经常会说到前端工程化&#xff0c;并没有听过后端工程化、Java工程化或者Python工程化呢&#xff1f;我们理解的前端工程化是不是…

适合我的前端学习路线(学习前端不迷路)

适合我的前端学习路线&#xff08;学习前端不迷路&#xff09; 小伙伴们想学习前端&#xff0c;但是却不知如何入手&#xff0c;上网查前端学习路线&#xff0c;第一页往往充斥着各种培训公司的广告&#xff0c;又或者是搜前端学习路线图时&#xff0c;出现大量的路线图导致你还…

前端工程师行业现状怎么样?前景如何?

前端工程师行业现状怎么样&#xff1f;前景如何&#xff1f;前端即网站前台部分&#xff0c;运行在PC端移动端等浏览器上展现给用户浏览的网页。前端市场远没有饱和&#xff0c;现在的市场状况需求量非常多薪资可观。小编将通过官方数据宏观的给大家分析一下前端这个行业。 一…

快毕业了,很多人都不推荐做前端,前端业内最真实情况是什么样的?

偶尔出现这样一种说法,前端热度已经降低了,前端市场已经饱和了,前端工作没有那么好找了。 部分事实确实如此,大概是在2014-2018年,那时候前端技术刚刚崛起,相对来讲工作较现在更容易找到。 随着前端技术的发展及人才需求结构的成熟,现在已经不是会做动态网页就能找到工…

传智教育|一文读懂什么是前端?未来前景怎么样?(附前端学习路线图)

互联网高薪岗位众多&#xff0c;之前被大家津津乐道的后端工程师似乎慢慢不吃香了&#xff0c;原因是&#xff1a;过于内卷。 而为了打破目前内卷的局面&#xff0c;很多小伙伴在转行的时候就开始考虑起了前端工程师&#xff0c;这个岗位相比起后端的学习来说&#xff0c;难度…

我适不适合学前端?看完老程序员的这篇文章给你答案

什么是前端?什么又是后端呢? 1,在你机子上(PC端/手机端)看到的界面,安装的程序。给用户看的、操作的就是前端。你看不到的,帮你保存网络游戏数据,保存应用数据,处理数据的就是后端(服务端)。 2, 目前一般来说,前端指的就是浏览器端,后端指的就是直接为浏览器端…

关于根轨迹对于控制系统的一点理解

自动控制理论根轨迹的学习过程中&#xff0c;经常会遇到几个问题&#xff1a; 为什么要用根轨迹法&#xff1f;为什么根轨迹法最终转化为调整增益K来反应系统的稳定性和动态性能&#xff1f;为什么根轨迹法用开环传递函数求解的却是闭环极点&#xff1f; 盲目的借助于matlab进…

4.4 绘制根轨迹的MATLAB函数

4.4.1 rlocus ⒈.功能&#xff1a;绘制系统的根轨迹。 ⒉.格式&#xff1a; [r,k]rlocus(n,d) [r,k]rlocus(g) [r,k]rlocus(n,d,k) [r,k]rlocus(g,k) ⒊.说明&#xff1a; rlocus 函数可计算出或画出SISO系统的根轨迹&#xff0c;其中g(或n,d)为对象模型&#xff0c;输入变量…

自动控制原理复习——线性系统的根轨迹法

我们知道线性系统的性能与闭环函数的极点分布有很大关系&#xff0c;当闭环函数的极点全部位于s左平面时&#xff0c;系统是稳定的&#xff0c;当闭环函数的极点都是实数且无零点的情况下&#xff0c;系统单位阶跃响应曲线是单调的&#xff0c;当闭环函数的极点是共轭复数根时&…

利用根轨迹法进行控制系统的分析和设计

文章目录 1 根轨迹法基础知识什么是根轨迹根轨迹有什么用什么是根轨迹法 2 根轨迹图幅值和幅角条件手绘根轨迹图经验和特性 3 用MATLAB绘制根轨迹画一个简单的根轨迹图指定K的取值范围绘制根轨迹绘制极网格根轨迹法的分析条件稳定系统非最小相位系统求任意根轨迹点上的增益K值 …

【自动控制原理】 根轨迹法之根轨迹法分析系统性能

一、稳定性能 根轨迹法的核心思路是&#xff1a;通过研究系统特征方程的根随着传递函数中某一参数从0到∞变化时而变化形成的轨线。 闭环系统稳定性的充分必要条件&#xff1a;系统所有特征根均具有负实部。 表现在根轨迹中&#xff0c;就是所有的根取值均不进入右半平面。 …

Chapter8.3:控制系统校正的根轨迹法

该系列博客主要讲述Matlab软件在自动控制方面的应用&#xff0c;如无自动控制理论基础&#xff0c;请先学习自动控制系列博文&#xff0c;该系列博客不再详细讲解自动控制理论知识。 自动控制理论基础相关链接&#xff1a;https://blog.csdn.net/qq_39032096/category_10287468…

Chapter4.1:根轨迹法

此系列属于胡寿松《自动控制原理题海与考研指导》(第三版)习题精选&#xff0c;仅包含部分经典习题&#xff0c;需要完整版习题答案请自行查找&#xff0c;本系列属于知识点巩固部分&#xff0c;搭配如下几个系列进行学习&#xff0c;可用于期末考试和考研复习。 自动控制原理(…

根轨迹法学习

根轨迹法&#xff1a;随着低频环路增益的变化&#xff0c;追踪闭环传递函数的极点和零点在复平面上的变化趋势。 其中相角条件是决定根轨迹的充要条件&#xff0c;s平面上一点若满足相角条件&#xff0c;则一定在根轨迹上&#xff0c;幅值条件为必要条件。 再通过幅值方程求出…