使用CSS3旋转按钮并将其应用于绝对右侧位置不会';行不通

使用CSS3旋转按钮并将其应用于绝对右侧位置不会';行不通,css,rotation,position,absolute,Css,Rotation,Position,Absolute,我正在尝试将CSS3样式(渐变)的按钮旋转90度,并将其应用于绝对右侧:0px位置。那个按钮是“关于我们” 似乎有两个问题。首先,button元素没有一直向右移动(就像我想要的那样),问题似乎出在CSS3旋转中,它仍然认为宽度为150px。如果禁用旋转,元素将完全与右侧屏幕对齐,没有留下任何空间 我还发现,在谷歌Chrome中,当我将鼠标悬停在按钮“Kaj točno delam”上时,它没有正确地应用渐变-这意味着渐变开始之前(从左到右)按钮上有1px(或2)的黑色空间-但是,在正常(水平)模

我正在尝试将CSS3样式(渐变)的按钮旋转90度,并将其应用于绝对右侧:0px位置。那个按钮是“关于我们”

似乎有两个问题。首先,button元素没有一直向右移动(就像我想要的那样),问题似乎出在CSS3旋转中,它仍然认为宽度为150px。如果禁用旋转,元素将完全与右侧屏幕对齐,没有留下任何空间

我还发现,在谷歌Chrome中,当我将鼠标悬停在按钮“Kaj točno delam”上时,它没有正确地应用渐变-这意味着渐变开始之前(从左到右)按钮上有1px(或2)的黑色空间-但是,在正常(水平)模式下,或者在向右旋转(当我测试时)时,这不会发生. 这也很奇怪,因为当使用Chrome开发者工具来调整元素:hover时,它并没有显示得那么大

使用Internet Explorer时,垂直按钮“关于我们”仅在按下它的顶部(而不是其他地方)时才起作用

所有这些问题都是因为CSS3/HTML错误而发生的吗

在不使用图像的情况下,有没有更好的解决方案也许使用jQuery或其他什么


感谢您的帮助。

如果旋转图元,其宽度将保持不变。您需要这样计算您的正确位置:

-(width/2-height/2) = -(150/2-27/2) = -61,5

所以你需要取
对:-61,5px而不是
右侧:0

我这样做了,但我不认为IE支持正确:-61,5px,因为当我尝试它时,IE显示出它现在的样子(正确:0px)。此外,我仍然不知道CSS3是否是正确的方法,因为你不能在IE中按下按钮,除非你在顶部按下它-整个按钮是不可点击的。但是谢谢你的努力和建议=)。如果你真的想要IE支持,你最好使用图像而不是2d变换。我已经通过使用-ms transform:rotate(-90度);不知怎么的,我在网上用过的发电机里没有加上这个。可点击区域现在在IE中工作。