想知道如何将旋转的文本固定在页面中央?
这是一个 jsfiddle ,我希望我只能用CSS / html完成此任务。
非常感谢:)
HTML
<h1 class="main rotate">TEXT</h1>
CSS
h1 {
text-transform: uppercase;
white-space: nowrap;
text-align: center;
position: fixed;
left: 50%;
height: 100%;
width: 100%;
}
.rotate {
-webkit-transform-origin: 0 50%;
-moz-transform-origin: 0 50%;
-ms-transform-origin: 0 50%;
-o-transform-origin: 0 50%;
transform-origin: 0 50%;
-webkit-transform: rotate(-90deg) translate(-50%, 50%);
-moz-transform: rotate(-90deg) translate(-50%, 50%);
-ms-transform: rotate(-90deg) translate(-50%, 50%);
-o-transform: rotate(-90deg) translate(-50%, 50%);
transform: rotate(-90deg) translate(-50%, 50%);
}
答案 0 :(得分:2)
我的建议是使用top
添加right
,使用bottom
,left
,margin: auto
,1em
技巧height
和line-height
。像这样:
h1 {
...
/* new code */
left:0;
right:0;
top:0;
bottom:0;
height: 1em;
line-height: 1em;
margin: auto;
}
.rotate {
/* new code */
-webkit-transform: rotate(-90deg);
-moz-transform: rotate(-90deg);
-ms-transform: rotate(-90deg);
-o-transform: rotate(-90deg);
transform: rotate(-90deg);
}
答案 1 :(得分:1)
有趣的练习,我的方法在这里:
h1 {
margin: 0;
-webkit-transform-origin: 50%;
-moz-transform-origin: 50%;
-ms-transform-origin: 50%;
-o-transform-origin: 50%;
transform-origin: 50%;
-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);
position: fixed;
top: 50%;
left: 50%;
}
.centeredbox{
position: fixed;
width: 10px;
height: 10px;
z-index: 15;
top: 50%;
left: 50%;
margin: -5px 0 0 -5px;
background: red;
}
<div class="centeredbox"></div>
<h1 class="main rotate">TEXT</h1>
答案 2 :(得分:0)
您的文字看起来并不居中,因为您使用的是h1
标记,大多数浏览器都为其添加了内置样式。
如果您将标记更改为div
,则文本会正确居中。
JSFiddler here
答案 3 :(得分:0)
下面的代码可以满足您的需求
h1 {
text-transform: uppercase;
white-space: nowrap;
text-align: center;
height: 100%;
width: 100%;
opacity: 1;
position:absolute;
left:50%;
top:50%;
margin:-302px 0 0 -34px;
-webkit-transition: opacity 300ms ease;
-moz-transition: opacity 300ms ease;
transition: opacity 300ms ease;
-webkit-transform: translateZ(0);
-moz-transform: translateZ(0);
-ms-transform: translateZ(0);
-o-transform: translateZ(0);
transform: translateZ(0);
}