【问题标题】:CSS: Right align a vertically rotated textCSS:右对齐垂直旋转的文本
【发布时间】:2013-09-07 05:04:12
【问题描述】:

我似乎无法将垂直旋转的 div 一直对齐到页面的右侧:http://jsfiddle.net/F23W2/2/

HTML:

<div class="vertical">Vertical Text</div>

CSS:

.vertical {
    position: relative;
    background-color: #DDDDDD;
    padding: 10px;
    border-radius: 5px 5px 0 0;
    float: right;
    -moz-transform: rotate(270deg);  /* FF3.5+ */
    -o-transform: rotate(270deg);  /* Opera 10.5 */
    -webkit-transform: rotate(-90deg);  /* Saf3.1+, Chrome */
} 
  • 在页面右边框和 div 之间创建了不需要的边距。
  • 旋转的 div 的顶部被裁剪。

虽然我可以使用负边距来解决问题,但我想知道是否存在更清洁的解决方案。

【问题讨论】:

    标签: html css rotation css-float


    【解决方案1】:

    通过transform-origin: 100% 100%;改变旋转变换的原点

    body {
      padding: 0;
      margin: 0;
    }
    
    .vertical {
      position: relative;
      background-color: #DDDDDD;
      padding: 10px;
      border-radius: 5px 5px 0 0;
      float: right;
      -moz-transform: rotate(270deg);
      /* FF3.5+ */
      -o-transform: rotate(270deg);
      /* Opera 10.5 */
      -webkit-transform: rotate(-90deg);
      /* Saf3.1+, Chrome */
      -moz-transform-origin: 100% 100%;
      -o-transform-origin: 100% 100%;
      -webkit-transform-origin: 100% 100%;
    }
    &lt;div class="vertical"&gt;Vertical Text&lt;/div&gt;

    New Fiddle

    【讨论】:

    • @ClintPachl 这是一种方法:jsfiddle.net/4078ggjg。我确信有一种“更清洁”的方式,但我没有花时间简化旋转、平移和缩放。
    • 那是一些严重的 CSS-FU @BigMacAttack!感谢您为我指明正确的方向。使用你所拥有的,我想出了一种更简洁的方式,可以在 Win(甚至 IE11)、OSX、iOS 和 BSD 上跨浏览器(FF、Chrome、Safari)工作:jsfiddle.net/yrfm5uec/1
    猜你喜欢
    • 1970-01-01
    • 2016-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多