簡體   English   中英

帶有轉換的IE9中定位元素錯誤:旋轉

[英]Wrong positioned element in IE9 with transform: rotate

我需要在HTML5應用程序中垂直旋轉文本。

此功能適用於除IE9及更低版本以外的所有瀏覽器(尚無法在IE10中對其進行測試):

.badgeWrapper > h3{
    -webkit-transform: rotate(-90deg) translate(-100%, 0%);
    -webkit-transform-origin: 0 0 0;
    -moz-transform: rotate(-90deg) translate(-100%, 0%);
    -moz-transform-origin: 0 0 0;
    -ms-transform: rotate(-90deg) translate(-100%, 0%);
    -ms-transform-origin: 0 0 0;
    -o-transform: rotate(-90deg) translate(-100%, 0%);
    -o-transform-origin: 0 0 0;
    transform: rotate(-90deg) translate(-100%, 0%);
    transform-origin: 0 0 0;
    width: 140px;
    position: absolute;
}

在IE9(無Quirksmode)中,元素已旋轉但位置錯誤,顯示得太低。 我究竟做錯了什么? 父元素是position:relative btw。

謝謝!

很抱歉解決了我自己的問題,但是我給了IE9不支持的變換原點3個值(我想應該是3d變換)時出錯了。 刪除最后一個“ 0”可以解決問題。

正如@Spudley所假設的那樣,我在這里發布了我的解決方案,因此它可能會幫助遇到相同問題的其他人:

IE <= 9不能使用3個值,因為那些版本的IE僅支持2D轉換,但是3個值似乎告訴瀏覽器它是(不支持的)3D轉換。

所以這是錯誤的:

-ms-transform: rotate(-90deg) translate(-100%, 0%);
-ms-transform-origin: 0 0 0;

這是正確且有效的:

-ms-transform: rotate(-90deg) translate(-100%, 0%);
-ms-transform-origin: 0 0;

希望能幫助到你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM