垂直居中旋转文本
Vertically centered a rotate text
我尝试了前面问题的解决方案,但是none成功了。
我有 2 个动态文本需要旋转并居中放入其内容 div(左右)。
我试过的所有解决方案都不起作用
代码如下:
#sideLeft span,
#sideRight span {
bottom: 50%;
display: block;
line-height: 0em;
position: absolute;
text-align: center;
top: 50%;
white-space:nowrap;
width: 100%;
}
#sideLeft span {
-webkit-transform: rotate(-90deg);
-moz-transform: rotate(-90deg);
-ms-transform: rotate(-90deg);
-o-transform: rotate(-90deg);
transform: rotate(-90deg);
}
#sideRight span {
-webkit-transform: rotate(90deg);
-moz-transform: rotate(90deg);
-ms-transform: rotate(90deg);
-o-transform: rotate(90deg);
transform: rotate(90deg);
}
#sideLeft,
#sideRight {
height: 100%;
position: fixed;
top: 0;
width: 18%;
}
#sideLeft {
left: 0;
}
#sideRight {
right: 0;
}
<div id="sideLeft"><span>Left text lorem ipsum sit amet</div>
<div id="sideRight"><span>Right text pellentesque lectus erat, condimentum quis sem vitae, facilisis </span></div>
拜托,你能帮帮我吗?
提前致谢:)
br0k3n
要使某个东西居中(因为你使用了变换),你可以在将它定位到它的中心之后,在两个方向上 translate
它到 -50%
容器。
您还应该将变换原点设置在元素的中心。
所以这应该可以解决问题
#sideLeft span, #sideRight span {
top: 50%;
left:50%;
position: absolute;
text-align: center;
white-space:nowrap;
-webkit-transform-transform-origin:50% 50%;
-moz-transform-origin:50% 50%;
-ms-transform-origin:50% 50%;
-0-transform-origin:50% 50%;
transform-origin:50% 50%;
}
#sideLeft span {
-webkit-transform: translate(-50%, -50%) rotate(-90deg);
-moz-transform: translate(-50%, -50%) rotate(-90deg);
-ms-transform: translate(-50%, -50%) rotate(-90deg);
-o-transform: translate(-50%, -50%) rotate(-90deg);
transform: translate(-50%, -50%) rotate(-90deg);
}
#sideRight span {
-webkit-transform: translate(-50%, -50%) rotate(90deg);
-moz-transform: translate(-50%, -50%) rotate(90deg);
-ms-transform: translate(-50%, -50%) rotate(90deg);
-o-transform: translate(-50%, -50%) rotate(90deg);
transform: translate(-50%, -50%) rotate(90deg);
}
我尝试了前面问题的解决方案,但是none成功了。 我有 2 个动态文本需要旋转并居中放入其内容 div(左右)。 我试过的所有解决方案都不起作用
代码如下:
#sideLeft span,
#sideRight span {
bottom: 50%;
display: block;
line-height: 0em;
position: absolute;
text-align: center;
top: 50%;
white-space:nowrap;
width: 100%;
}
#sideLeft span {
-webkit-transform: rotate(-90deg);
-moz-transform: rotate(-90deg);
-ms-transform: rotate(-90deg);
-o-transform: rotate(-90deg);
transform: rotate(-90deg);
}
#sideRight span {
-webkit-transform: rotate(90deg);
-moz-transform: rotate(90deg);
-ms-transform: rotate(90deg);
-o-transform: rotate(90deg);
transform: rotate(90deg);
}
#sideLeft,
#sideRight {
height: 100%;
position: fixed;
top: 0;
width: 18%;
}
#sideLeft {
left: 0;
}
#sideRight {
right: 0;
}
<div id="sideLeft"><span>Left text lorem ipsum sit amet</div>
<div id="sideRight"><span>Right text pellentesque lectus erat, condimentum quis sem vitae, facilisis </span></div>
拜托,你能帮帮我吗?
提前致谢:)
br0k3n
要使某个东西居中(因为你使用了变换),你可以在将它定位到它的中心之后,在两个方向上 translate
它到 -50%
容器。
您还应该将变换原点设置在元素的中心。
所以这应该可以解决问题
#sideLeft span, #sideRight span {
top: 50%;
left:50%;
position: absolute;
text-align: center;
white-space:nowrap;
-webkit-transform-transform-origin:50% 50%;
-moz-transform-origin:50% 50%;
-ms-transform-origin:50% 50%;
-0-transform-origin:50% 50%;
transform-origin:50% 50%;
}
#sideLeft span {
-webkit-transform: translate(-50%, -50%) rotate(-90deg);
-moz-transform: translate(-50%, -50%) rotate(-90deg);
-ms-transform: translate(-50%, -50%) rotate(-90deg);
-o-transform: translate(-50%, -50%) rotate(-90deg);
transform: translate(-50%, -50%) rotate(-90deg);
}
#sideRight span {
-webkit-transform: translate(-50%, -50%) rotate(90deg);
-moz-transform: translate(-50%, -50%) rotate(90deg);
-ms-transform: translate(-50%, -50%) rotate(90deg);
-o-transform: translate(-50%, -50%) rotate(90deg);
transform: translate(-50%, -50%) rotate(90deg);
}