7

旋转然后将文本对齐到某些内容的一侧的首选解决方案是什么?

示例:http: //jsfiddle.net/nVtpz/

<style>
.wrapper {
    width: 100px;
    height: 100px;
    border: 1px solid #009;
    margin: 50px;
}
.text
{
    border: 1px solid #900;
      -webkit-transform: rotate(-90deg);
     -moz-transform: rotate(-90deg);
      -ms-transform: rotate(-90deg);
       -o-transform: rotate(-90deg);
          transform: rotate(-90deg);

}
.image {
    border: 1px solid #090;
}
</style>

<div class="wrapper">    
    <div class="text">
        Text to rotate
    </div>
    <div class="image">
        <img src="http://lorempixel.com/100/100"/>
    </div>
</div>

我希望文本在图像的左下角旁边对齐(但不是在图像的顶部,即没有浮动)

我想我可以使用position: relative; bottom: 0px或类似的东西,但有更好的方法吗?

4

3 回答 3

9

我认为这就是您想要的transform-origin,但是您可以使用(根据需要使用相关的供应商前缀)更改转换原点。这是情境性的,但在您的情况下:

transform: rotate(90deg) translateX(100%);
transform-origin: 100% 100%;
于 2013-05-29T23:31:45.223 回答
4

在此处输入图像描述

.wrapper {
  position: relative;
  width: 100px;
  height: 100px;
}
.text{
  position: absolute;
  width: 100%;
  background:rgba(0,0,0,0.5);
  color:#fff;
  -webkit-transform: rotate(270deg) translateX(-100%);
          transform: rotate(270deg) translateX(-100%);
  -webkit-transform-origin: 0px 0px;
          transform-origin: 0px 0px;
}
.image img{
  vertical-align:middle;
}
<div class="wrapper">    
  <div class="text">
    Text to rotate
  </div>
  <div class="image">
    <img src="http://lorempixel.com/100/100"/>
  </div>
</div>

于 2013-05-29T23:52:09.940 回答
3

简单地旋转文本:

.container {
  writing-mode: vertical-rl;
  text-orientation: sideways;
}

然后将其设置在 CSS 网格中,以便它可以跟踪视口,sticky如果您希望它在滚动时移动。

于 2019-02-19T17:17:27.733 回答