Ser*_*era 77 css webkit transform css3 css-transforms
我在旋转和定位一行文字方面遇到了一些问题.现在它只是有效的位置.旋转也可以,但只有我禁用定位.
CSS:
#rotatedtext {
transform-origin: left;
transform: rotate(90deg);
transform: translate(50%, 50%);
}
Run Code Online (Sandbox Code Playgroud)
html只是纯文本.
Dav*_*rey 132
原因是因为您使用了两次transform属性.由于具有级联的CSS规则,如果它们具有相同的特异性,则最后一个声明获胜.由于两个转换声明都在同一个规则集中,因此就是这种情况.
这是做什么的:
请参阅http://jsfiddle.net/Lx76Y/并在调试器中打开它以查看第一个声明被覆盖
由于翻译覆盖了旋转,你必须将它们组合在同一个声明中:http://jsfiddle.net/Lx76Y/1/
要执行此操作,请使用以空格分隔的变换列表:
#rotatedtext {
transform-origin: left;
transform: translate(50%, 50%) rotate(90deg) ;
}
Run Code Online (Sandbox Code Playgroud)
请记住,它们是在链中指定的,因此首先应用平移,然后再应用旋转.
小智 7
没有必要这样做,因为您可以根据需要使用带有值“vertical-lr”或“vertical-rl”的css“writing-mode”。
.item {
writing-mode: vertical-rl;
}
Run Code Online (Sandbox Code Playgroud)
小智 7
我不能评论所以这里.关于@David Storey回答.
小心CSS3链中的"执行顺序"!规则是(右)从(左).不是从左到右.
transformation: translate(0,10%) rotate(25deg);
Run Code Online (Sandbox Code Playgroud)
首先完成"旋转"操作,而不是"翻译"操作接下来/秒.
请参阅: CSS3转换顺序事项:最右边的操作
小智 5
可能会错过的事情:在我的链接项目中,事实证明空格分隔的列表末尾也需要空格分隔的分号。
换句话说,这是行不通的:
transform: translate(50%, 50%) rotate(90deg);
Run Code Online (Sandbox Code Playgroud)
但这确实:
transform: translate(50%, 50%) rotate(90deg) ; /*has a space before ";" */
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
110062 次 |
| 最近记录: |