有谁知道如何仅使用 CSS 在 IE7、IE8、IE9 和 IE10 中成功实现垂直文本?(通过垂直文本,我指的是逆时针旋转 90 度的文本)
这是我今天实现的,我认为应该是正确的:
.counterclockwise-text {
/* Chrome/Safari */
-webkit-transform: rotate(-90deg);
-webkit-transform-origin: 50% 50%;
/* Firefox */
-moz-transform: rotate(-90deg);
-moz-transform-origin: 50% 50%;
/* IE9 */
-ms-transform: rotate(-90deg);
-ms-transform-origin: 50% 50%;
/* This should work for IE10 and other modern browsers that do not need vendor prefixes */
transform: rotate(-90deg);
transform-origin: 50% 50%;
/* IE8 or less - using the "\9" CSS hack so that other browsers will ignore these lines */
zoom: 1\9;
writing-mode: tb-rl\9;
filter: flipv fliph;
}
然而,IE10 并没有忽略 "\9" CSS hack——它会拾取这些值并将文本再旋转 90 度。一个有用的解决方案是一种在 IE8 及以下不会被 IE10 拾取的垂直文本的方法。我真的想避免使用仅限 IE8 的样式表,或者使用媒体查询来检测 IE10。我只是在寻找一种方法来修改上面的 CSS 以在所有浏览器中都有垂直文本。谢谢!
编辑:
对于它的价值,我还尝试了下面的代码,它使用过滤器来旋转文本。这可能适用于大多数情况,但在我的例子中,很多文本被包装元素的受限(非旋转?)约束切断。
.counterclockwise-text {
/* Chrome/Safari */
-webkit-transform: rotate(-90deg);
-webkit-transform-origin: 50% 50%;
/* Firefox */
-moz-transform: rotate(-90deg);
-moz-transform-origin: 50% 50%;
/* IE9 */
-ms-transform: rotate(-90deg);
-ms-transform-origin: 50% 50%;
/* IE10 and other modern browsers that do not need vendor prefixes */
transform: rotate(-90deg);
transform-origin: 50% 50%;
/* IE8 */
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
/* IE7 or less */
*zoom: 1;
*writing-mode: tb-rl;
*filter: flipv fliph;
}
在 IE10 和 IE8 都满意的情况下,我仍然没有找到使用纯 CSS 的方法。