</div>
<div class="time">
<span id="time-minutes">-</span>
<p>分</p>
</div>
<div class="time">
<span id="time-seconds">-</span>
<p>秒</p>
</div>
</div>
**CSS**
@import url(“https://fonts.googleapis.com/css2?family=Roboto&display=swap”);
-
{
box-sizing: border-box;
padding: 0;
margin: 0;
}
body {
width: 100%;
min-height: 100vh;
font-family: “Roboto”, sans-serif;
background: url(“http://haiyong.site/wp-content/uploads/2021/09/3a2bd7324818ffb7fa6ed0e753a8d560.jpg”) no-repeat center/cover;
display: flex;
flex-direction: column;
align-items: center;
position: relative;
}
**效果图**

[]( )🥇 第 2 步:使用 CSS 代码完善整体样式
-----------------------------------------------------------------------------------
调暗背景
body::before {
content: "";
position: absolute;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
z-index: -1;
}
container `<div>` 设为居中
.container {
text-align: center;
margin: 2rem auto 0;
padding: 0 15px;
}
再将各部分元素分离开
.container > * {
padding: 1rem;
}
设置h5字体大小
.container h5 {
font-size: 2rem;
}
**效果**

[]( )🏆 第 3 步:调节各部分元素的布局
------------------------------------------------------------------------------
.container form input {
padding: 10px 15px;
font-size: 1.2rem;
border: none;
border-right: 1px solid rgba(0, 0, 0, 0.5);
}
.container form button {
font-size: 1.2rem;
outline: none;
border: none;
padding: 10px 15px;
background: #ffffff;
color: #b6281b;
cursor: pointer;
transition: 0.2s linear;
}
.container form button:hover {
background: #b6281b;
color: #ffffff;
}
.container h1 {
font-size: 3rem;
text-transform: uppercase;
}
.container h5, .container h1, .container p {
color: #ffffff;
text-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
}
.container p {
font-size: 1.2rem;
width: 80%;
margin: auto;
}
.container .hidden {
display: none;
}
.container .pickedTime {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
}
.container .pickedTime .time {
margin: 0.5rem;
padding: 0.5rem 1rem;
background: #ffffff;
}
.container .pickedTime .time span {
font-size: 2.5rem;
color: #b6281b;
}
.container .pickedTime .time p {
color: #000000;
width: 100%;
}
.container .boxes {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
}
.container .boxes .box {
background: #ffffff;
margin: 1rem;
padding: 1rem 2rem;
display: flex;
flex-direction: column;
text-align: center;
}
.container .boxes .box span {
color: #b6281b;
font-weight: bold;
font-size: 4rem;
}
.container .boxes .box p {
color: #000000;
width: 100%;
}
**效果**

[]( )🍖 第 4 步:使用 JavaScript 代码激活它
---------------------------------------------------------------------------------------
现在我已经在 JavaScript 的帮助下实现了这个倒数计时器。我们需要获取用户设置了一个特定的日期`Date.parse`。也就是说,您必须确定要运行倒计时的时间。
➤ 一分钟等于 60 秒,所以在这种情况下 `m = s * 60`
➤ 一小时等于 60 分钟,在这种情况下 `h = m * 60`
➤ 一天等于 24 小时,所以在这种情况下 `d = h * 24`。
➤ 一年等于 365天,所以在这种情况下 `y = d * 365`。
const s = 1000,
m = s * 60,
h = m * 60,
d = h * 24,
y = d * 365;
指示每1000 毫秒使用setInterval. 由于倒计时时间每秒都是间歇性的,所以这个系统需要每秒更新一次。
setInterval(() => {
counting();
}, 1000);
获取用户提供的时间
const date = document.getElementById(‘date’).value,
time = document.getElementById('time').value,
timeYears = document.getElementById('time-years'),
timeDays = document.getElementById('time-days'),
timeHours = document.getElementById('time-hours'),
timeMinutes = document.getElementById('time-minutes'),
timeSeconds = document.getElementById('time-seconds');
我使用的是`new Date ()`从设备中获取当前时间的方法。在这种情况下这里使用的时间不是任何服务器的时间,而是你设备的当地时间,然后使用了JavaScript 中的`Math.floor`
const interval = setInterval(() => {
const pickedDate = new Date(`${date} ${time}`).getTime(),
currentDate = new Date().getTime(),
difference = pickedDate - currentDate,
years = Math.floor(difference / y);
if (years < 1) {
timeYears.parentElement.style.display = 'none';
} else {
timeYears.parentElement.style.display = 'block';
}
timeYears.innerHTML = Math.floor(difference / y);
timeDays.innerHTML = Math.floor((difference % y) / d);
timeHours.innerHTML = Math.floor((difference % d) / h);
timeMinutes.innerHTML = Math.floor((difference % h) / m);
timeSeconds.innerHTML = Math.floor((difference % m) / s);
}, 1000);
**最终完整的 JavaScript 代码**
const s = 1000,
m = s * 60,
h = m * 60,
d = h * 24,
y = d * 365;
setInterval(() => {
counting();
}, 1000);
const formAddDate = document.getElementById(‘addDate’);
formAddDate.addEventListener(‘submit’, addTime);
function addTime(e) {
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)
3)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)
