html中各种js效果图,HTML+CSS+JS制作一个漂亮的橙子动态时钟

HTML+CSS+JS制作一个漂亮的橙子动态时钟

1. 效果图:

6b064e7629eaf0fd1fe63d59f66650d2.png

2. 背景产生:

利用四块与圆同高的矩形转一定的角度将圆切分成八块形成橙子内里,利用径向渐变形成橙皮。

background: radial-gradient(ellipse at center, #fff 60%, #ffd36a calc( 60% + 1px ),#fab91f calc( 68% + 1px ));

radial-gradient() 函数用径向渐变创建 "图像"。径向渐变由中心点定义。center(默认):设置中间为径向渐变圆心的纵坐标值。这个想要详细了解的话可以看看这篇深入理解CSS径向渐变radial-gradient文章。

transform:rotate(45deg);

transform就是变形的意思,rotate(angle):通过指定的角度参数对原元素指定一个2D rotation(2D 旋转),需先有transform-origin属性的定义。transform-origin定义的是旋转的基点,其中angle是指旋转角度,如果设置的值为正数表示顺时针旋转,如果设置的值为负数,则表示逆时针旋转。

3. 代码实现:

橙子时钟——戈小戈>

/* body {

background-color: #fff;

margin: 0;

} */

.wrapper {

position: relative;

}

/* author:戈小戈 */

.face {

display: flex;

justify-content: center;

align-items: center;

width: 20vmin;

height: 20vmin;

border-radius: 50%;

position: relative;

background: radial-gradient(ellipse at center, #fff 60%, #ffd36a calc( 60% + 1px ),#fab91f calc( 68% + 1px ));

}

.back{

display: flex;

justify-content: center;

align-items: center;

width: 80%;

height:80%;

border-radius: 50%;

position: relative;

background-color:#fce05c;

}

.backborderright1{

width:5%;

height:100%;

position: absolute;

background-color:#fff;

}

.backborderright2{

width:5%;

height:100%;

position: absolute;

background-color:#fff;

transform:rotate(45deg);

-ms-transform:rotate(45deg); /* IE 9 */

-moz-transform:rotate(45deg); /* Firefox */

-webkit-transform:rotate(45deg); /* Safari 和 Chrome */

-o-transform:rotate(45deg); /* Opera */

}

.backborderright3{

width:5%;

height:100%;

position: absolute;

background-color:#fff;

transform:rotate(90deg);

-ms-transform:rotate(90deg); /* IE 9 */

-moz-transform:rotate(90deg); /* Firefox */

-webkit-transform:rotate(90deg); /* Safari 和 Chrome */

-o-transform:rotate(90deg); /* Opera */

}

.backborderright4{

width:5%;

height:100%;

position: absolute;

background-color:#fff;

transform:rotate(135deg);

-ms-transform:rotate(135deg); /* IE 9 */

-moz-transform:rotate(135deg); /* Firefox */

-webkit-transform:rotate(135deg); /* Safari 和 Chrome */

-o-transform:rotate(135deg); /* Opera */

}

.face:after {

content: '';

display: block;

width: 3vmin;

height: 3vmin;

border-radius: 50%;

/* background-color: #f8ccce; */

position: absolute;

background-size:cover;

-webkit-transform: rotate(-360deg);

animation: rotation 3s linear infinite;

-moz-animation: rotation 3s linear infinite;

-webkit-animation: rotation 3s linear infinite;

-o-animation: rotation 3s linear infinite;

}

@-webkit-keyframes rotation{

from {-webkit-transform: rotate(0deg);}

to {-webkit-transform: rotate(-360deg);}

}

.quarter {

height: 80%;

width: 80%;

position: absolute;

}

.quarter div {

height: 10%;

width: 2.4%;

border-radius: 1vmin;

background-color: #fab91f;

position: absolute;

}

.quarter div:nth-child(even) {

top: 45%;

transform: rotate(90deg);

}

.quarter div:nth-child(odd) {

left: 48.8%;

}

.quarter div:nth-child(1) {

top: 0;

}

.quarter div:nth-child(2) {

right: 3%;

}

.quarter div:nth-child(3) {

bottom: 0;

}

.quarter div:nth-child(4) {

left: 3%;

}

.hands div {

position: absolute;

bottom: 50%;

border-radius: 1vmin;

transform-origin: 50% 100%;

transform: rotate(0);

}

.hands div.h {

height: 27%;

width: 2.4%;

left: 48.8%;

background-color: #db9a03;

}

.hands div.m {

height: 40%;

width: 2.4%;

left: 48.8%;

background-color: #fcb104;

}

.hands div.s {

height: 50%;

width: 1%;

left: 49.5%;

bottom: 40%;

transform-origin: 50% 80%;

background-color: #c7b684;

}

// author:戈小戈

const sHand = document.querySelector('.s');

const mHand = document.querySelector('.m');

const hHand = document.querySelector('.h');

function setTime() {

const d = new Date();

const s = d.getSeconds();

const m = d.getMinutes();

const h = d.getHours();

const sDeg = (( s / 60 ) * 360 );

const mDeg = (( m / 60 ) * 360 );

const hDeg = (( h / 12 ) * 360 );

sHand.style.transform = `rotate( ${sDeg}deg )`;

mHand.style.transform = `rotate( ${mDeg}deg )`;

hHand.style.transform = `rotate( ${hDeg}deg )`;

}

setInterval( setTime, 1000 );

标签:rotate,transform,JS,width,HTML,background,div,height,CSS

来源: https://www.cnblogs.com/wsgxg/p/14636545.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用 HTMLCSS 和 JavaScript 来创建一个 4D 的动态跨年效果。 首先,使用 HTML 来创建一个包含文本的 div 元素,这个 div 元素将显示当前的年份。然后,使用 CSS 来设置 div 的样式,包括字体大小、颜色和位置。 接下来,使用 JavaScript 来获取当前的年份,并将它赋值给 div 元素。可以使用 setInterval 函数来每隔一段时间更新 div 显示的年份,从而实现动态效果。 这是一个示例代码: ```HTML <div id="year"></div> <style> #year { font-size: 36px; color: blue; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } </style> <script> // 获取当前的年份 const currentYear = new Date().getFullYear(); // 将年份赋值给 div 元素 document.getElementById("year").innerHTML = currentYear; // 每隔一秒更新一次年份 setInterval(() => { document.getElementById("year").innerHTML = ++currentYear; }, 1000); </script> ``` 在这个示例,div 元素会显示当前的年份,并且每秒钟会自动更新一次。你可以根据需要调整 CSS 和 JavaScript 的参数,来达到你想要的效果。 ### 回答2: 要用HTML写一个4D的动态跨年效果,可以通过结合HTML5的Canvas元素和CSS3的动画效果来实现。首先,先创建一个Canvas元素,并设置宽度和高度为屏幕的大小。 然后,使用JavaScript来编写动画效果的逻辑。可以在Canvas上绘制一个类似于时钟的表盘,包括小时、分钟和秒钟的刻度。然后,使用CSS3的transform属性和keyframes来创建动画效果,使得表盘在一定时间内旋转起来,模拟时间的流逝。 在跨年倒计时到最后一秒时,可以在Canvas上添加一些特效,比如闪烁的文字或烟花效果,来增加节日氛围。同时,也可以使用CSS3的过渡效果来平滑地过渡到下一年的效果。 在绘制表盘的过程,可以使用HTML5的Canvas API来绘制不同的形元素,比如圆形、线条等。可以设置每个刻度之间的角度间隔,然后使用Math库的方法来计算每个刻度所在的位置。 最后,在HTML添加一个定时器,使得动画效果每隔一秒钟更新一次,以保持秒针的正常运转。当跨年倒计时到达零秒时,可以触发一些JavaScript代码或动画效果来庆祝新年的到来。 总之,通过Canvas元素、CSS3的动画效果和JavaScript的控制,可以构建一个4D的动态跨年效果,让用户在网页上感受到真实的节日氛围。 ### 回答3: 要用HTML写一个4D的动态跨年效果,我们可以借助一些CSS和JavaScript来实现。首先,我们可以创建一个包含跨年倒计时效果HTML页面。 在HTML文件,我们可以使用<div>元素来容纳效果的各个部分。为了实现4D效果,我们可以设置<div>的样式为立方体,并使用CSS的transform属性来旋转和翻转该立方体。 在<div>元素内部,我们可以创建一个子<div>元素,并设置其样式为倒计时的数字。这个子<div>可以使用CSS的动画和过渡效果来实现数字变化的动态效果。 为了实现跨年倒计时的功能,我们可以使用JavaScript来获取当前时间,并计算剩余时间。然后,通过修改子<div>元素的文本内容,实时显示剩余时间。 另外,我们可以使用JavaScript的定时器函数setInterval来每秒更新一次剩余时间的显示。 最后,在整个HTML页面,我们可以添加一些元素(如背景、音乐等)来增强总体的效果。可以使用CSS的背景像和颜色属性来设置背景,并使用HTML5的<audio>元素来插入音乐。 通过以上的方法,我们可以用HTML实现一个4D的动态跨年效果。这样,当用户访问该页面时,他们将能够看到一个立方体形状的倒计时效果,实时显示剩余时间,同时还能享受到背景和音乐的增强效果

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值