我有以下元素
<a href="#" class="some_class">Test Text Here</a>
这个元素有浅蓝色背景和一些填充。今天我遇到了一个小挑战:我知道我们可以旋转元素,但是它的内容也可以旋转。我试图实现的目标是这样的:
所以元素本身会稍微旋转,但它的内容保持在原位。这仅使用 CSS3 就可以实现吗?我尝试使用几个嵌套元素,但是通过旋转它们的父元素,所有子元素也都旋转了。这也可以用单个元素来完成,比如上面提到的例子?
当然,如果您将文本包装在一个跨度中,然后将跨度设置为position: absolute
,并且transform
它在与“默认”相反的方向上等量。
我建议不要在上面建议的案例中将文本超级强加在您的链接上,因为您希望文本位于锚标记内以用于 SEO 目的。
所以...我<a>
顺时针旋转了 10 度,逆时针旋转了<span>
10 度。
*****交替** - 您还可以将跨度设置为显示:块;并放弃绝对定位。这取决于您的用例。在这种情况下,绝对定位它可以让您通过更多控制来移动文本。
a {
color: #fff;
display: block;
width: 100px;
height: 30px;
background: blue;
border-radius: 5px;
-moz-transform: scale(1) rotate(10deg) translateX(0px) translateY(0px) skewX(0deg) skewY(0deg);
-webkit-transform: scale(1) rotate(10deg) translateX(0px) translateY(0px) skewX(0deg) skewY(0deg);
-o-transform: scale(1) rotate(10deg) translateX(0px) translateY(0px) skewX(0deg) skewY(0deg);
-ms-transform: scale(1) rotate(10deg) translateX(0px) translateY(0px) skewX(0deg) skewY(0deg);
transform: scale(1) rotate(10deg) translateX(0px) translateY(0px) skewX(0deg) skewY(0deg);
}
span {
position: absolute;
-moz-transform: scale(1) rotate(-10deg) translateX(0px) translateY(0px) skewX(0deg) skewY(0deg);
-webkit-transform: scale(1) rotate(-10deg) translateX(0px) translateY(0px) skewX(0deg) skewY(0deg);
-o-transform: scale(1) rotate(-10deg) translateX(0px) translateY(0px) skewX(0deg) skewY(0deg);
-ms-transform: scale(1) rotate(-10deg) translateX(0px) translateY(0px) skewX(0deg) skewY(0deg);
transform: scale(1) rotate(-10deg) translateX(0px) translateY(0px) skewX(0deg) skewY(0deg);
}
我知道您有 2 个选项: