如何使用calc()
來確定transform:rotate()
的角度值?在transform中使用calc():rotate()
的!mdn docs for the CSS calc()
function狀態:
的
calc()
CSS功能可以在任何地方使用的<length>
,<frequency>
,<angle>
,<time>
,<number>
,或<integer>
是必需的。使用calc()
,您可以執行計算來確定CSS屬性值。
但是,使用calc()
創建transform:rotate()
不是爲我工作的角度值。
this blog doesn't work - transform: rotate(calc(1turn - 32deg));
的建議,也沒有以這種方式使用calc()
的操作的類似變體。
見this codepen for verification - 只有第五<div>
旋轉如預期和不使用calc()
確定角度。
下面是從codepen主代碼顯示在這裏:
div {
height: 200px;
width: 200px;
background-color: red;
}
.one {
transform: rotate(calc(1turn - 32deg));
}
.two {
transform: rotate(calc(360deg - 90deg));
}
.three {
transform: rotate(calc(360deg/4deg));
}
.four {
transform: rotate(calc(22deg + 23deg));
}
.five {
transform: rotate(45deg);
}
同樣的問題跨越最新的Chrome,Firefox的開發版,和Safari發生我。
存在與此問題有關的其他討論,但不提供任何解決方案。例如:
'360deg/4deg'看起來不對 – Banzay
您知道,將正方形旋轉90°或其增量(在您的第二個和第三個示例中)不會顯示出任何可辨別的差異嗎?正方形的對稱軸相隔90°。 – Terry
你得到的唯一問題是'360deg/4deg',這是因爲你正在尋找'360deg/4'(注意空格並去掉'4'上的'deg') – Dekel