我在旋转和定位一行文本时遇到一些问题。现在,只是位置有效。旋转也可以,但是仅当我禁用定位时。
CSS:
#rotatedtext {
transform-origin: left;
transform: rotate(90deg);
transform: translate(50%, 50%);
}
html只是纯文本。
Answers:
原因是因为您两次使用了transform属性。由于CSS规则带有级联,因此如果它们具有相同的特异性,则最后一个声明将获胜。由于两个转换声明都在同一规则集中,所以是这种情况。
它在做什么是这样的:
请参阅http://jsfiddle.net/Lx76Y/并在调试器中将其打开以查看第一个声明被覆盖
由于翻译将覆盖旋转,因此您必须将它们合并在同一声明中:http : //jsfiddle.net/Lx76Y/1/
为此,请使用以空格分隔的转换列表:
#rotatedtext {
transform-origin: left;
transform: translate(50%, 50%) rotate(90deg) ;
}
请记住,它们是在链中指定的,因此首先应用平移,然后再应用旋转。
我不能发表评论,所以就到这里。关于@David Storey的答案。
注意CSS3链中的“执行顺序”!顺序是从右到左,而不是从左到右。
transformation: translate(0,10%) rotate(25deg);
rotate
首先完成该操作,然后完成translate
。
请参阅: CSS3转换顺序很重要:最右边的操作优先