<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
*{margin: 0;padding: 0;}
ul{list-style: none;}
#time{width: 400px;height: 400px;border: 10px solid black;border-radius: 50%;margin: 30px auto;position: relative;}
#time ul{width: 100%;height: 100%;position: relative;}
#time ul li{width: 4px;height: 10px;background: black;position: absolute;left: 50%;
margin: 0 -3px;
/* transform: translateX(30px); */
transform-origin: center 200px;
}
.shizhen{width: 12px;height: 60px;background: black;position: absolute;left: 50%;top: 50%;
margin: -60px 0 0 -6px;}
.fenzhen{width: 10px;height: 100px;background: black;position: absolute;left: 50%;top: 50%;
/* transform: translateY(-100px) translateX(-5px); */
margin: -100px 0 0 -5px;
}
.miaozhen{width: 6px;height: 180px;background: black;position: absolute;left: 50%;top: 50%;
/* transform: translateY(-180px) translateX(-3px); */
margin: -180px 0 0 -3px;
}
/* #time ul li:nth-child(2){transform: rotateZ(6deg);} */
</style>
</head>
<body>
<div id="time">
<ul>
<!-- <li></li>
<li></li> -->
</ul>
<div class="shizhen"></div>
<div class="fenzhen"></div>
<div class="miaozhen"></div>
</div>
<script>
var ul = document.querySelector("ul");
for(var i=0;i<60;i++){
var li= document.createElement("li");
li.style.transform = 'rotate('+(i*6) + 'deg)';
if( i%5==0){
li.style.height='20px'
li.style.width='6px'
}
ul.appendChild(li);
}
</script>
</body>
</html>
两个问题:1
#time ul li{width: 4px;height: 10px;background: black;position: absolute;left: 50%;
margin: 0 -3px;
/* transform: translateX(30px); */
transform-origin: center 200px;
}
这段代码中为什么我用transform无法移动li而用margin可以?
2:如果要将li移动到正中间不是应该向左移动50%后再移动宽度的一半吗?
那么这个宽度的一半应该是-2px,但是我移动-2px无法跟下面的分针对齐,只有移动-3px才能正好对齐?