前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >来来来,给您送🕐了

来来来,给您送🕐了

作者头像
用户4793865
发布于 2023-02-03 07:32:16
发布于 2023-02-03 07:32:16
35700
代码可运行
举报
文章被收录于专栏:前端小菜鸡yym前端小菜鸡yym
运行总次数:0
代码可运行

theme: channing-cyan highlight: a11y-dark


「这是我参与2022首次更文挑战的第24天,活动详情查看:2022首次更文挑战

源码地址:https://gitee.com/yang-yiming1234/emo_demo/tree/master/%E7%8E%BB%E7%92%83%E6%80%81%E6%97%B6%E9%92%9F

渐变背景

画出div

这里引入了外部css文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
  <div class="container">
      <div class="box">
          <div class="clock">
              <div class="hour">
                  <div class="hr" id="hr"></div>
              </div>
              <div class="min">
                  <div class="mn" id="mn"></div>
              </div>
              <div class="sec">
                  <div class="sc" id="sc"></div>
              </div>
          </div>
      </div>
  </div>
</body>

</html>

添加样式

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
*{
    margin:0;
    padding:0;
    box-sizing: border-box;
}
body{
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
}
body::before{
    content:'';
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background: linear-gradient(45deg,#e91e63,#e91e63 50%,#ffc107 50%,#ffc107);
}
body::after{
    content:'';
    position:absolute;
    top:-20px;
    left:0;
    width:100%;
    height:100%;
    background: linear-gradient(160deg,#03a9f4,#03a9f4 50%,transparent 50%,transparent);
    
}

*

*是通配符,选择所有元素的意思

vh

首先说一下——视窗: 视窗即window.innerWidth/window.innerHeight

vh是视窗单位,1vh = 1%的视窗高度。vw也是同理。

::before

body::before在每个body前插入内容,当然body只有一个。content是文本内容。

linear-gradient

用于创建渐变

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/* 从上到下,蓝色渐变到红色 */ 
linear-gradient(blue, red); 
/* 渐变轴为45度,从蓝色渐变到红色 */ 
linear-gradient(45deg, blue, red); 
/* 从右下到左上、从蓝色渐变到红色 */ 
linear-gradient(to left top, blue, red); 
/* 从下到上,从蓝色开始渐变、到高度40%位置是绿色渐变开始、最后以红色结束 */ 
linear-gradient(0deg, blue, green 40%, red);

到现在为止实现了一个渐变背景

动画

背景动画

@keyframes

把它绑定到一个选择器,否则动画不会有任何效果。

指定至少这两个CSS3的动画属性绑定向一个选择器:

  • 规定动画的名称
  • 规定动画的时长

给 body::after 添加 animation: animate 5s ease-in-out infinite;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
body::after{
    content:'';
    position:absolute;
    top:-20px;
    left:0;
    width:100%;
    height:100%;
    background: linear-gradient(160deg,#03a9f4,#03a9f4 50%,transparent 50%,transparent);
    /*  animate就是选择器的动画名称 时长     ease-in-out动画以低速开始和结束 */
    animation: animate 5s ease-in-out infinite;
}
@keyframes animate{
    0%{
        /* 沿着旋转Y轴 */
        transform: translateY(10px);
    }
    50%{
        transform: translateY(-10px);
    }
}

钟表容器动画

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.box{
    position: relative;
    z-index:1;
    width: 400px;
    height:400px;
    backdrop-filter:blur(25px);
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,0.5);
    animation: animate 5s ease-in-out infinite;
    animation-delay: -2.5s ;
}

容器底部阴影效果

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.container{
    position: relative;
}
.container::before{
    content:'';
    position:absolute;
    bottom:-150px;
    width:100%;
    height:60px;
    background: radial-gradient(rgba(0,0,0,0.2),transparent,transparent);
    border-radius: 50%;
}

radial-gradient()

radial-gradient() 函数用径向渐变创建 "图像"。 径向渐变由中心点定义。 为了创建径向渐变你必须设置两个终止色。

这个图更明显

我们的两个终止色是透明色。

添加时钟

添加个时钟图片

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.clock{
    position: absolute;
    top:10px;
    left:10px;
    right:10px;
    bottom:10px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: radial-gradient(transparent,rgba(255,255,255,0.2)),url(clock.png);
    background-size: cover;
    border-radius: 50%;
    backdrop-filter: blur(25px);
    border:1px solid rgba(255,255,255,0.5);
    border-bottom:none;
    border-right:none;
    /* 为clock添加阴影 有一个从左上到右下浅色到深色的渐变 */
    box-shadow: -10px -10px 20px rgba(255,255,255,0.21),
                10px 10px 20px rgba(0,0,0,0.1),
                0px 40px 50px rgba(0,0,0,0.2);
}
}

画指针和中心圆点

中心圆点

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.clock::before{
    content:'';
    position:absolute;
    width:15px;
    height:15px;
    background-color: #fff;
    border-radius: 50%;
    z-index:100;
}

指针

时针最短 然后是分针 秒针最长

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/* 时针分针秒针的长度不通 */
.hour, .hr
{
    width:160px;
    height: 160px;
}
.min, .mn{
    width:190px;
    height:190px;
}
.sec, .sc{
    width: 230px;
    height:230px;
}
.hr, .mn, .sc{
    display: flex;
    justify-content: center;
    position: absolute;
    border-radius:50%;
}

时针

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.hr::before{
    content:'';
    position: absolute;
    width: 8px;
    height:80px;
    background-color: #ff1053;
    z-index:12;
}

分针

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.mn::before{
    content:'';
    position: absolute;
    width: 4px;
    height:90px;
    background-color: #fff;
    z-index:13;
    border-radius:6px;
}

秒针

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 .sc::before{
    content:'';
    position: absolute;
    width: 2px;
    height:150px;
    background-color: #fff;
    z-index:14;
    border-radius:6px;
} 

js实现动态时针

这里使用setInterval()让其更新。通过querySelector选择元素,然后使用hr.style.transform改变样式

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    <script>
        const deg = 6;
                // querySelector选择元素
        const hr = document.querySelector('#hr');
        const mn = document.querySelector('#mn');
        const sc = document.querySelector('#sc');
        setInterval(() => {
            let day = new Date();
            //   12小时 360/12 所以每一个小时30°
            let hh = day.getHours() * 30;
            // 1h=60m 360/60 所以每分钟6°
            let mm = day.getMinutes() * deg;
            //  同样1s 6°  
            let ss = day.getSeconds() * deg;
                        // 添加样式
            // 时针的旋转度数 会跟着分针旋转
            hr.style.transform = `rotateZ(${hh + (mm / 12)}deg)`;
            mn.style.transform = `rotateZ(${(mm)}deg)`;
            sc.style.transform = `rotateZ(${(ss)}deg)`;
        })

    </script>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-02-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
《CSS揭秘》读书总结:背景与边框
假设我们想给一个容器设置一层白色背景和一道半透明白色边框,body 的背景会从它的半透明边框透上来。我们最开始的尝试可能是这样的:
逆葵
2019/04/25
1.8K0
《CSS揭秘》读书总结:背景与边框
CSS3实现多样的边框效果
半透明边框 实现效果: 实现代码: <div> 你能看到半透明的边框吗? </div> div { /* 关键代码 */ border: 10px solid rgba(255,25
laixiangran
2018/07/25
9990
CSS3实现多样的边框效果
Css3新特性总结之边框与背景(一)
本系列主要总结Css3一些新特性的认识,来源于《css揭秘》书。 一、半透明边框 css3最好用hsla,而不是rgba,hsla是:h:颜色值(0~360);s:饱合度(0%~100%);l:亮度(0%~100%);a:透明度(0~1) background-clip:裁剪背景颜色,默认为border-box(背景颜色扩散到border);padding-box(背景颜色扩散到padding);content-box(背景颜色扩展到content) 示例代码: width:200px; height:20
sam dragon
2018/01/17
8270
【Java 进阶篇】CSS 属性
当你学习CSS时,了解CSS属性是非常重要的,因为这些属性控制了网页上元素的外观和布局。本文将详细介绍一些常见的CSS属性,包括文本属性、盒子模型属性、背景和边框属性、定位属性等。我们还将为每个属性提供示例代码,以便你更好地理解它们的用法。
繁依Fanyi
2023/10/12
2250
【Java 进阶篇】CSS 属性
【CSS】课程网站开发示例 ① ( 文件目录结构准备 | CSS 属性书写顺序 - 重要 )
最终的展示效果如下 , body 中的文本 , 内外边距清除后 , 紧贴浏览器左上角 ;
韩曙亮
2023/04/02
4960
【CSS】课程网站开发示例 ① ( 文件目录结构准备 | CSS 属性书写顺序 - 重要 )
css应知应会 第二集
h-shadow v-shadow blur spread color inset
李才哥
2020/08/17
1.3K0
css应知应会 第二集
CSS3实现“图片阴影”效果
利用多投影重叠的原理,实现曲线阴影与翘边阴影的效果,花一个小时看完的课程,理解的似懂非懂。直接发一下老师写的成品吧。用到来取。css都补上了注释。
AlexTao
2019/12/13
2K0
CSS3实现“图片阴影”效果
使用 CSS 的仿 GitHub 登录页面
在线演示地址:https://haiyong.site/demo/github.html 码上掘金地址:https://code.juejin.cn/pen/7130522560411729934
海拥
2022/09/28
1.9K0
使用 CSS 的仿 GitHub 登录页面
【CSS进阶】box-shadow 与 filter:drop-shadow 详解及奇技淫巧
box-shadow 在前端的 CSS 编写工作想必十分常见。但是 box-shadow 除去它的常规用法,其实还存在许多不为人知的奇技淫巧。 喜欢 markdown 版本的可以戳这里 。 box-shadow 常规用法 说到 box-shadow ,首先想到的必然是它能够生成阴影,所以称之为 shaodow ,简单看看它的语法: 基础属性语法 box-shadow 属性向框添加一个或多个阴影。 box-shadow: h-shadow v-shadow blur spread color inset;
Sb_Coco
2018/05/28
2.2K0
正则表达式——表单验证
代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>实验</title> <style type="text/css"> /*该元素获得焦点时,不出现虚线框(或高亮框)*/ *:focus{ outline:none; } form{ width: 750px; height: 500px; background-color: #FFC0CB; positi
王凡汎
2020/04/02
1.2K0
CSS多边框的几种实现方法
css3中我们知道可以使用box-shadow属性轻松的为元素添加阴影效果,并且可以设置多组效果,每组参数值用逗号隔开。如果把box-shadow特性的两个偏移量 h-shadow 、v-shadow设置为0,将模糊值blur也设置为0,此时增加扩张半径,就会使元素的投影变为实线边框。这样就可以模拟多边框效果了,首先看下box-shadow语法和参数。
javascript.shop
2019/09/04
2K0
CSS多边框的几种实现方法
【CSS】599- 9个很棒的CSS边框技巧
如果您是前端开发人员,那么几乎每天都会使用CSS边框。我发现了一些可以在您的项目中使用的有用的技巧。
pingan8787
2020/05/26
2.4K0
【CSS】CSS 总结 ⑤ ( CSS 盒子边框 | CSS 盒子模型内边距 | CSS 盒子模型外边距 | CSS 盒子模型圆角边框 | CSS 盒子模型阴影 ) ★
HTML 的 一个布局 可以看做一个 矩形的 盒子模型 , 该 盒子模型 是一个用于 容纳 标签元素 的容器 ;
韩曙亮
2024/03/12
5180
【CSS】CSS 总结 ⑤ ( CSS 盒子边框 | CSS 盒子模型内边距 | CSS 盒子模型外边距 | CSS 盒子模型圆角边框 | CSS 盒子模型阴影 ) ★
有趣的CSS小示例:好看的皮囊千篇一律,有趣的灵魂万里挑一
如果你看上图代码没有看懂,请看下图,我注释掉一行代码,你就明白了。原来是dot元素,沿着Y轴在循环位移,隐藏掉就让你看到了加载的动画效果。
Javanx
2019/09/04
1.1K0
有趣的CSS小示例:好看的皮囊千篇一律,有趣的灵魂万里挑一
掌握这 7 个 CSS 技巧,代码效率秒提升
正当我愁得要改 JS 的时候,隔壁老王一脸淡定:“兄弟,这些 CSS 技巧轻轻松松搞定,少写代码,效果还好。”于是,我抱着试一试的态度研究了一波,才发现 CSS 的隐藏技能简直是“救命稻草”!今天就把这些技巧整理分享给大家,让你应对需求时不用慌,写出既高效又美观的代码!
前端达人
2025/01/10
2400
掌握这 7 个 CSS 技巧,代码效率秒提升
寒假提升 | Day6 CSS 第四部分
当给父元素div(类名为box)设置font-size,color,text-align这些属性时,由于这些属性具有继承性,所以该父元素下的所有子元素(p,span,div)都会默认继承这些属性
Zkeq
2023/01/30
1.3K0
Css学习手册之基本篇
Css学习手册之基本篇 每次写前端都是一个痛苦的过程,总是静不下来,彻底的研究下前端的技术,导致每次套页面都是直接采用一些封装好的控件,而有时对这些样式不满意时,又得百度一下该怎么用,低效且不愉快,强制自己好好的学习下基本功 <!-- more --> I. 基本使用姿势 0. 几种css使用姿势 主要有下面三个使用姿势,其中优先级为 c > b > a a.直接引入css文件 b.在html中,直接写css: c.在标签中直接写css <!-- 方式 a --> <link rel="stylesheet
一灰灰blog
2018/04/18
1.9K0
Css学习手册之基本篇
IT课程 CSS基础 023_图片、背景
图片是网页中非常重要的媒体类型,恰到好处的使用图片可以使网页多彩生动,不再局限冷冰冰的文字。
zhaoJian.Net
2024/04/03
1780
IT课程 CSS基础 023_图片、背景
前端课程——盒子模型
盒子模型又称为框模型,HTML页面所有的元素都具有盒子模型,该模型用于设计HTML页面和实现HTML页面布局。
Dreamy.TZK
2020/04/09
1.2K0
CSS入门?一篇就够了!
CSS通常称为CSS样式表或层叠样式表(级联样式表),主要用于设置HTML页面中的文本内容(字体、大小、对齐方式等)、图片的外形(宽高、边框样式、边距等)以及版面的布局等外观显示样式。
对话、
2022/02/22
5.4K0
CSS入门?一篇就够了!
相关推荐
《CSS揭秘》读书总结:背景与边框
更多 >
LV.1
这个人很懒,什么都没有留下~
目录
  • 渐变背景
    • 画出div
    • 添加样式
      • *
      • vh
      • ::before
      • linear-gradient
  • 动画
    • 背景动画
      • @keyframes
    • 钟表容器动画
    • 容器底部阴影效果
      • radial-gradient()
  • 添加时钟
    • 添加个时钟图片
    • 画指针和中心圆点
      • 中心圆点
      • 指针
  • js实现动态时针
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档