Answers:
替代方法:http : //www.thecssninja.com/css/real-text-rotation-with-css
p { writing-mode: tb-rl; }
tb-rl
已弃用,请vertical-rl
改用。
-webkit-transform: rotate(90deg);
其他答案是正确的,但它们导致了一些对齐问题。在尝试不同的事情时,此CSS片段代码非常适合我。
.vertical{
writing-mode:tb-rl;
-webkit-transform:rotate(90deg);
-moz-transform:rotate(90deg);
-o-transform: rotate(90deg);
-ms-transform:rotate(90deg);
transform: rotate(90deg);
white-space:nowrap;
display:block;
bottom:0;
width:20px;
height:20px;
}
writing-mode:tb-rl;
已弃用。使用writing-mode:vertical-rl
,而不是!
我正在搜索实际的垂直文本,而不是HTML中的旋转文本,如下所示。因此,我可以使用以下方法来实现。
HTML:-
<p class="vericaltext">
Hi This is Vertical Text!
</p>
CSS:
.vericaltext{
width:1px;
word-wrap: break-word;
font-family: monospace; /* this is just for good looks */
}
更新:-如果需要显示空格,则将以下属性添加到CSS中。
white-space: pre;
因此,css类应为
.vericaltext{
width:1px;
word-wrap: break-word;
font-family: monospace; /* this is just for good looks */
white-space: pre;/* this is for displaying whitespaces */
}
更新2(2015年6月28日)
由于 white-space: pre;
在Firefox(到目前为止)上似乎不起作用(针对此特定用途),因此只需将该行更改为
white-space: pre-wrap;
因此,css类应为
.vericaltext{
width:1px;
word-wrap: break-word;
font-family: monospace; /* this is just for good looks */
white-space:pre-wrap; /* this is for displaying whitespaces including Moz-FF.*/
}
.vericaltext
中心?
要将文本旋转90度:
-webkit-transform: rotate(90deg);
-moz-transform: rotate(90deg);
-ms-transform: rotate(90deg);
-o-transform: rotate(90deg);
transform: rotate(90deg);
同样,似乎将span标签设置为display:block也无法旋转。
尝试使用:
writing-mode: lr-tb;
要以垂直(底部)显示文本,我们可以简单地使用:
writing-mode: vertical-lr;
transform: rotate(180deg);
#myDiv{
text-align: center;
}
#mySpan{
writing-mode: vertical-lr;
transform: rotate(180deg);
}
<div id="myDiv">
<span id="mySpan"> Here We gooooo !!! </span>
</div>
请注意,我们可以添加它来确保浏览器兼容性:
-webkit-transform: rotate(180deg);
-moz-transform: rotate(180deg);
-ms-transform: rotate(180deg);
-o-transform: rotate(180deg);
transform: rotate(180deg);
我是新手,这对我有很大帮助。只需更改宽度,高度,顶部和左侧使其合适即可:
.vertical-text {
display: block;
position:absolute;
width: 0px;
height: 0px;
top: 0px;
left: 0px;
transform: rotate(90deg);
}
您也可以在这里查看另一种方法。作者这样做是这样的:
.vertical-text {
transform: rotate(90deg);
transform-origin: left top 0;
float: left;
}
可以使用CSS3的Transform属性
.txtdiv{
transform:rotate(7deg);
-ms-transform:rotate(7deg); /* IE 9 */
-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.93969262, M12=0.34202014, M21=-0.34202014, M22=0.93969262,sizingMethod='auto expand')"; /* IE6-8 */
-webkit-transform:rotate(7deg); /* Opera, Chrome, and Safari */
}
添加课程
.rotate {
-webkit-transform: rotate(-90deg);
-moz-transform: rotate(-90deg);
}
我几乎每天都在使用它,并且没有任何问题。
这是一些我用来将三行垂直文本插入表列标题的SVG代码的示例。稍作调整,其他角度也是可能的。我相信这些天大多数浏览器都支持SVG。
<svg height="150" width="40">
<text font-weight="bold" x="-150" y="10" transform="rotate(-90 0 0)">Jane Doe</text>
<text x="-150" y="25" transform="rotate(-90 0 0)">0/0 0/0</text>
<text x="-150" y="40" transform="rotate(-90 0 0)">2015-06-06</text>
Sorry, your browser does not support inline SVG.
</svg>
您可以使用以下CSS属性实现相同的目的:
writing-mode: vertical-rl;
text-orientation: upright;
最好的解决方案是使用writing-mode
writing-mode: vertical-rl;
https://developer.mozilla.org/en-US/docs/Web/CSS/writing-mode
它定义了文本行是水平放置还是垂直放置以及块前进的方向。
它具有良好的浏览器支持,但不适用于IE8(如果您关心IE) http://caniuse.com/#feat=css-writing-mode
<!DOCTYPE html>
<html>
<style>
h2 {
margin: 0 0 0 0;
transform: rotate(270deg);
transform-origin: top left;
color: #852c98;
position: absolute;
top: 200px;
}
</style>
<body>
<h2>It’s all in the curd</h2>
</body>
</html>
如果您想要像
S
T
A
R
T
然后按照https://www.w3.org/International/articles/vertical-text/#upright-latin
例:
div.vertical-sentence{
-ms-writing-mode: tb-rl; /* for IE */
-webkit-writing-mode: vertical-rl; /* for Webkit */
writing-mode: vertical-rl;
}
.rotate-characters-back-to-horizontal{
-webkit-text-orientation: upright; /* for Webkit */
text-orientation: upright;
}
<div class="vertical-sentence">
<p><span class="rotate-characters-back-to-horizontal" lang="en">Whatever</span></p>
<p><span class="rotate-characters-back-to-horizontal" lang="fr">Latin</span></p>
<p><span class="rotate-characters-back-to-horizontal" lang="hi">वर्डप्रेस </span></p>
</div>
请注意,在我的示例中,印地语带有重音,并且将以单个字符的形式呈现。这是我面对该解决方案的唯一问题。
文本方向CSS属性设置一行中文本字符的方向。它仅影响垂直模式下的文本(当书写模式不是水平tb时)。这对于控制使用垂直脚本的语言的显示以及制作垂直表标题很有用。
writing-mode: vertical-rl;
text-orientation: mixed;
您还可以在此处查看所有语法
/* Keyword values */
text-orientation: mixed;
text-orientation: upright;
text-orientation: sideways-right;
text-orientation: sideways;
text-orientation: use-glyph-orientation;
/* Global values */
text-orientation: inherit;
text-orientation: initial;
text-orientation: unset;
你可以这样尝试
-webkit-transform: rotate(270deg);
-moz-transform: rotate(270deg);
-ms-transform: rotate(270deg);
-o-transform: rotate(270deg);
transform: rotate(270deg);