> > > > > > > > > > > > > > > > > >
圆锥梯度创建围绕中心点旋转的颜色转变,从而支持多种颜色值。至关重要的是, value conic-gradient()函数定义旋转或起点。这个角度甚至可能是负面的,我们将利用这一功能。为简洁而省略了代码,因为它是标准时钟手标)。
接下来,我们使用CSS,使用CSS变量来轻松自定义。这些变量将通过JavaScript动态更新。
.clock {/ *时钟变量 */ - 小时式颜色:#000; - 小时级:0DEG; - 小手下:#000; - 少数级:0DEG; - 二手颜色:热培林; - 秒级:0DEG;位置:相对;最小宽度:320px;宽度:25VW;身高:25VW;最小值:320px;边界拉迪乌斯:50%;保证金:0自动;边界:7px实心#000; }/ *时钟手样式 */.HAND {/ * ...(简短而省略了手动样式)... */} }
transform-origin
属性属性确保正确的手旋转。自定义属性管理手角,通过JavaScript进行更新以进行准确的计时。
我们选择时钟元素并定义 setDate(setDate()
函数:
<pre class="brush:php;toolbar:false"> pre> pre> pre> const const const const = document.getElementbyId.getElementbyId(clock)clock clock(“ clock)”);函数setDate(){//时间计算和手角更新} setDate(); //初始设置
内部 setDate()
,我们使用 date()
:
const now now = now = new Date(); const secondSangle = now.getSeconds() * 6; const minsangle = now.getMinutes() * 6秒 / 60; const hourangle =((NOW.Gethours()%12) / 12) * 360分钟 / 12; <p>计算确保准确的手部定位,占几秒钟,分钟和小时的时间。然后,我们更新CSS变量:</p> <pre class="brush:php;toolbar:false"> clock.style.setproperty(“ - 二手级”,secondSangle“ deg”); clock.Style.setProperty(“ - 微小的degrees”,minsangle“ deg”); clock.style.setProperty("--hour-hand-degrees", hourAngle "deg");
Finally, setInterval(setDate, 1000)
updates the clock every second.
To integrate the conic gradient, we modify the .clock
styles:
.clock { / * ...(以前的样式)... * / - start:0deg; - 端:0DEG;背景:圆锥级别(来自var( - start),RGB(255 255 255)2DEG,RGB(0 0 0 / 0.5)var(-end),RGB(255 255 255)2DEG,RGB(0 0 0 / 0.7)); }
我们介绍 - start
和 - end
变量以控制梯度的开始和结束角。 setDate()
函数已更新以计算和设置这些变量,处理 minsangle
超过 hourangle
的处理案例,使用无缝过渡的负角度。 (为简洁而省略了梯度角度计算的JavaScript代码,因为它是的直接更新 - start
和 - 基于<code> minsangle
和 hourangle
hourangle )。
以上是用圆锥梯度的脸进行实时时钟的详细内容。更多信息请关注PHP中文网其他相关文章!