2017-04-10 100 views
5

我想旋转DIV中的文本元素,但是在文本旋转后,我的div折叠就像是空的一样。是否有一个CSS技巧,让我的DIV仍然围绕着我的内在元素?围绕带DIV的转换元素

这里是我的代码如下所示:

li { 
 
    border: 1px solid black; 
 
    list-style-type: none; 
 
} 
 

 
p { 
 
    display: inline-block; 
 
    transform-origin: right bottom; 
 
    transform: rotate(270deg); 
 
}
<li> 
 
    <div> 
 
    <p>Some Text</p> 
 
    </div> 
 
</li> 
 

 
<li> 
 
    <div> 
 
    <p>Some Text</p> 
 
    </div> 
 
</li>

+2

使用写作模式,它是为了这个目的http://codepen.io/gc-nomade/pen/MpNBMa https://developer.mozilla.org/做en-US/docs/Web/CSS/writing-mode –

+0

@GCyrillus看到这个问题已经有3人赞成,你可能想让你的评论成为一个答案。 – domsson

+0

彼得,我以前的评论是否回答你的问题?如果是的话,我可能会重新打开并回答问题,因为它毕竟不会是重复的:) –

回答

2

相反变换:旋转(xdeg);您可以使用writing-mode来实现此目的。

形式语法

水平-TB | vertical-rl | vertical-lr | sideways-rl |侧身-LR

您的代码重新审视:http://codepen.io/gc-nomade/pen/MpNBMa以下

li { 
 
    border: 1px solid black; 
 
    list-style-type: none; 
 
} 
 

 
p { 
 
    display: inline-block; 
 
    vertical-align: middle; 
 
} 
 

 
p.rotate { 
 
    writing-mode: vertical-rl; 
 
    /* for obsolete safari old win, add vendor prefix -webkit- */ 
 
    writing-mode: tb-rl; 
 
    /* IEs */ 
 
    /* writing-mode:sideways-lr; could be the one */ 
 
    /* use scale() eventually untill sideways-lr is working everywhere */ 
 
    transform: scale(-1); 
 
    padding: 1em; 
 
    background: yellow; 
 
    /* show me */ 
 
    max-height:10em; /* will force text to break on several lines if too long */ 
 
}
<ul> 
 
    <li> 
 
    <div> 
 
     <p class="rotate">Some Text</p> 
 
     <p>aside <br/>any <br/>other <br/>text <br/>aside <br/>any <br/>other <br/>text </p> 
 
    </div> 
 
    </li> 
 

 
    <li> 
 
    <div> 
 
     <p class="rotate">Some more Text<br/>over 2 lines</p> 
 
     <p>aside any other text</p> 
 
    </div> 
 
    </li> 
 
    <li> 
 
    <div> 
 
     <p class="rotate">Some more Text over 10em of height at the most</p> 
 
     <p>aside any other text</p> 
 
    </div> 
 
    </li> 
 
</ul>

注:MDN说:

这是一个实验性的技术 因为这项技术的规范尚未稳定,请检查兼容性适用于各种浏览器的功能表。还请注意,随着规范的变化,实验技术的语法和行为在未来版本的浏览器中可能会发生变化。

看看这里:http://caniuse.com/#search=writing-mode

+0

嘿,我看到你是谁回答了[早先的问题](http://stackoverflow.com/questions/36140628/resize-div-when-content-is-rotated?noredirect=1&lq=1)。所以你可以在那里更新你的答案。 –

+0

然后我们可以再次关闭这个问题。 ;) –

+0

@MrLister nop那是一个关于转换一个容器的大小,大小没有关系,这里这个问题是关于容器根据其旋转的文本大小进行调整;)(我给它放了一个黄色背景以显示它的立场和如果文本长度增加,它如何扩展,它也可以分成几行;) –