我正在使用CSS创建垂直文本。问题是,我希望文本旁边的前一个div,之间或之后没有空格。我该如何解决这个问题?
<div id="wrapper">
<div class="pull-left">
here is some stuff
</div>
<div class="pull-left verticalText changeCursor">I'm vertical</div>
</div>
CSS(从Bootstrap向左拉):
.changeCursor
{
cursor: pointer;
}
.verticalText
{
height: 100%;
-moz-transform: rotate(90deg);
-webkit-transform: rotate(90deg); /* für Safari und Co */
-o-transform:rotate(90deg); /* Opera */
-ms-transform:rotate(90deg); /* MS IE 9 */
transform: rotate(90deg);
}
感谢您的帮助!
答案 0 :(得分:1)
问题在于,<div>
默认情况下会尽可能宽。此外,进行转换时,默认情况下,原点位于元素的中间位置。
如果你制作display: inline-block
并添加
transform-origin: 0 0;
到.vertical-text
规则,然后文本到达第一个的右边,但它与它重叠。要修复 ,您可以使用translate()
:
#wrapper > div { display: inline-block; }
.verticalText
{
transform-origin: 0 0;
-moz-transform: rotate(90deg) translate(0, -100%);
-webkit-transform: rotate(90deg) translate(0, -100%); /* für Safari und Co */
-o-transform: rotate(90deg) translate(0, -100%); /* Opera */
-ms-transform: rotate(90deg) translate(0, -100%); /* MS IE 9 */
transform: rotate(90deg) translate(0, -100%);
}