试图复制问题的答案: 在倾斜的类按钮中不倾斜文本
答案代码在:http: //jsbin.com/obusoy/6/edit
我的问题是我的解决方案必须在 IE8 中工作,所以我必须使用 -ms-filter 而不是 CSS3 中更友好的 skew 函数。
我从http://www.useragentman.com/IETransformsTranslator/获得了转换的值
我的 CSS 是:
.button-wrapper {
background: #fff;
border: 1px solid #bbb;
border-color: #ddd #ccc #bbb;
overflow: hidden;
width: 120px;
height: 40px;
-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.8152074690959046, M12=-0.6840402866513375, M21=-3.885780586188048e-16, M22=1.0641777724759122, SizingMethod='auto expand')";
margin-left: -6px;
margin-top: -4px;
/*
FORMULA IN TRANSLATER: skew(-20deg) rotate(20deg)
EQUIVALENT OF:
-webkit-transform: skewX(-20deg);
-moz-transform: skewX(-20deg);
-o-transform: skewX(-20deg);
transform: skewX(-20deg);
*/
}
.button-wrapper:hover {
background: #efe;
border-color: #090;
}
.button-wrapper button {
background: transparent;
border: 0;
cursor: pointer;
font-size: 20px;
font-weight: bold;
padding: 4px 0;
margin: 0;
width: 100%;
-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.8152074690959046, M12=0.6840402866513375, M21=-3.885780586188048e-16, M22=1.064177772475912, SizingMethod='auto expand')";
/*
FORMULA IN TRANSLATER: skew(20deg) rotate(-20deg)
EQUIVALENT OF:
-webkit-transform: skewX(20deg);
-moz-transform: skewX(20deg);
-o-transform: skewX(20deg);
transform: skewX(20deg);
*/
}
.button-wrapper button:hover {
color: #060;
}
我的 HTML 是:
<div class="button-wrapper">
<button id="RefreshButton3" runat="server" ServerClick="RefreshButton_Click">Refresh</button>
</div>
我的问题是文本没有完全偏离原始数量(看起来水平压缩并且仍然略微斜体)。
使用什么正确的变换值?我错过了什么步骤?
更新:找到解决方案。 问题是操作的顺序问题。如果第一个变换是 skew() rotate(),那么第二个变换必须是 rotate() skew()。这在第二步中给出了一个稍微不同的矩阵:
-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=1.064177772475912, M12=0.6840402866513375, M21=-3.885780586188048e-16, M22=0.8152074690959046,, SizingMethod='auto expand')";