我想用css跨度和絕對位置創建一個「X」,但跨度不居中,即使他們應該。跨度位置絕對不是以頂部和左側爲中心
該容器有font-size
的1px
。和100em
的height
和width
。因此,我可以使用1em
作爲父母大小的1%。
我使用transform-origin: 0px 5em;
上的跨度來旋轉它而不改變起點。元素在20%top
和left
(20em)開始並以80%
(上和左)結束。
獲得所需要的width
我簡單地計算:Square root(square of (60) * 2)
(勾股定理)(60,因爲開始和結束20 - 100-20×2)
但由於某種原因,X顯然不居中。你知道我做錯了嗎?
body
{
margin: 0px;
}
.check
{
font-size: 1px;
position: relative;
height: 100em;
width: 100em;
background-color: white;
border-radius: 50%;
transition: .3s;
box-shadow: 0px 0px 10px red inset;
}
.check span
{
position: absolute;
display: block;
height: 10em;
width: 0px;
background-color: #00FF00;
transition:.3s;
}
.check.red span
{
background-color: #FF0000;
transform-origin: 0px 5em;
transform: rotate(45deg);
top: 20em;
left: 20em;
}
.check.red span:nth-of-type(2)
{
transform: rotate(135deg);
top: 20em;
left: 80em;
}
.check.red:hover span
{
width: 84.852813742em;
}
<body>
<div class="check red">
<span></span>
<span></span>
</div>
</body>
它是在這裏,但你也使用轉換原點。一旦旋轉補償,邊緣正在下降:) –