亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

css3如何利用transform打造走動的2D時鐘

發布時間:2021-03-17 10:18:58 來源:億速云 閱讀:202 作者:小新 欄目:web開發

小編給大家分享一下css3如何利用transform打造走動的2D時鐘,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

利用transform的旋轉rotate打造一個時鐘,再結合JavaScript的定時器讓它走起來。

截一個動圖:

css3如何利用transform打造走動的2D時鐘

案例知識點分析:

1、利用定位完成時鐘的繪制。

2、背景使用了放射性漸變。

3、利用JavaScript完成刻度和時間數字的旋轉。

4、利用Date()對象獲取系統時間,并讓時針指向對應的刻度。

5、利用定時器不斷更新時間,完成時針的運動。

一、HTML源代碼

<div id="clock-wrap">
	<div id="clock">
    	<ul id="list">
        </ul>
    </div>
    <div id="num">
    	<ul>
        	<li>12</li>
            <li>1</li>
            <li>2</li>
            <li>3</li>
            <li>4</li>
            <li>5</li>
            <li>6</li>
            <li>7</li>
            <li>8</li>
            <li>9</li>
            <li>10</li>
            <li>11</li>
        </ul>
    </div>
    <div id="hour"></div>
    <div id="min"></div>
    <div id="sec"></div>
    <div id="circle"></div>
</div>

二、CSS樣式

<style id="css">/*注意這里為style標簽添加了一個id,在JavaScript里面有獲取,并往里面添加css樣式。*/
body,ul{
	margin:0;
	padding:0;}
body{
	font:1em "microsoft Yahei";
	color:#666;
	background-color:#333;}
h2{
	text-align:center;
	color:#eee;
	font-size:3rem;}
li{
	list-style:none;}
p{
	text-align:center;
	color:#ddd;
	position:relative;
	top:100px;
	}
a{
	color:#999;
	text-decoration:none;
	transition:0.2s;}
a:hover{
	color:#ddd;}
#clock-wrap{
	width:400px;
	height:400px;
	border:10px solid #fff;
	border-radius:50%;
	margin:80px auto 0;
	position:relative;
	box-shadow:0 0 40px rgba(0,0,0,1)}
#clock ul{
	width:400px;
	height:400px;
	position:relative;
	border-radius:50%;
	background:radial-gradient(circle at center,#667eea,#764ba2);
	box-shadow:0 0 50px rgba(0,0,0,0.5) inset; /*設置內陰影*/
	}
#clock ul li{
	position:absolute;
	left:50%;
	margin-left:-2px;
	top:0;
	width:4px;
	height:10px;
	background:rgba(255,255,255,.5);
	transform-origin:center 200px; /*li的旋轉中心點在圓形中間。*/
	}
#clock li:nth-child(5n+1){ /*5個刻度為一組,每一組的第一個刻度要長一點。*/
	height:18px;
	}
#num{
	position:absolute;
	width:360px;
	height:360px;
	left:0;
	right:0;
	top:0;
	bottom:0;
	margin:auto;
	}
#num li{
	position:absolute;
	left:50%;
	margin-left:-10px;
	top:0;
	color:rgba(255,255,255,.5);
	font:2em Arial, Helvetica, sans-serif;	
	transform-origin:center 180px;}

#hour,#min,#sec{
	background:#fff;
	position:absolute;
	left:50%;
	top:50%;
	transform-origin:bottom; /*時針的旋轉點在自己的底部。*/
	box-shadow:0 0 6px rgba(0,0,0,.5)
	}
#hour{
	width:14px;
	height:100px;
	margin-left:-7px;
	margin-top:-100px;
	border-radius:3px;
	}
#min{
	width:10px;
	height:150px;
	margin-left:-5px;
	margin-top:-150px;
	border-radius:2px;
	}
#sec{
	width:4px;
	height:180px;
	margin-left:-2px;
	margin-top:-180px;
	border-radius:1px;
	}
#circle{
	width:40px;
	height:40px;
	border-radius:50%;
	background:#fff;
	position:absolute;
	left:50%;
	margin-left:-20px;
	top:50%;
	margin-top:-20px;
	box-shadow:0 0 20px rgba(0,0,0,.4)}
</style>

三、JavaScript代碼

<script>
window.onload=function(){
	var oList=document.getElementById("list");
	var oCSS=document.getElementById("css"); //style標簽也可以加id屬性。
	var aNums=document.getElementById("num").getElementsByTagName("li");
	var oHour=document.getElementById("hour");
	var oMin=document.getElementById("min");
	var oSec=document.getElementById("sec");
	var aLi="";
	var sCSS="";
	for(var i=0;i<60;i++){ //循環60次,產生刻度值和每一個刻度旋轉的度數。
		aLi+="<li></li>";
		sCSS+="#clock li:nth-child("+(i+1)+"){transform:rotate("+i*6+"deg);}"
		}
	for(var i=0;i<12;i++){
		sCSS+="#num li:nth-child("+(i+1)+"){transform:rotate("+i*30+"deg);}"
		}
	oList.innerHTML=aLi;
	oCSS.innerHTML+=sCSS;  //css需要追加到原來的css文檔中。
	
	
	
	myTime();  //初始化函數。
	setInterval(myTime,1000);    //設置定時器,每隔1秒執行一次函數。
	function myTime(){
		var oDate=new Date();
		var iSec=oDate.getSeconds(); 
		//精確到秒數的分鐘數。
		var iMin=oDate.getMinutes()+iSec/60; 
		//精確到分秒的小時數。可以在旋轉的時候更精確。
		var iHour=oDate.getHours()+iMin/60;
		
		oSec.style.transform="rotate("+iSec*6+"deg)" ;
		oMin.style.transform="rotate("+iMin*6+"deg)";
		oHour.style.transform="rotate("+iHour*30+"deg)"; //時針的指向需要把分鐘和秒數算進去才精確。
		}
	
	}
</script>

以上是“css3如何利用transform打造走動的2D時鐘”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

图木舒克市| 拜泉县| 北碚区| 依兰县| 宁晋县| 阳曲县| 尚义县| 昌乐县| 定陶县| 温州市| 西宁市| 英德市| 吕梁市| 康定县| 五大连池市| 芮城县| 德格县| 甘德县| 松原市| 泰和县| 玉山县| 全椒县| 郓城县| 枣阳市| 郴州市| 淅川县| 合山市| 紫金县| 永嘉县| 昌吉市| 梁河县| 志丹县| 濮阳市| 乐平市| 肥乡县| 禄丰县| 靖江市| 错那县| 石城县| 申扎县| 扬州市|