css - 使用 css 使文本垂直仅适用于恒定文本长度

标签 css vertical-text

我需要一个网站的垂直文本。那是我的 CSS 代码:

.vertical-category  span {

    display: block;
    position: absolute;
    top: 30px;
    left: -37px;
    font-size: 20px;
    text-transform: uppercase;
    color: #ffffff;

    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    -webkit-transform-origin: 50% 50%;
    -moz-transform-origin: 50% 50%;
    -ms-transform-origin: 50% 50%;
    -o-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
}

这很好,但是第一个字母的起始位置取决于单词的长度:

left: small word, right: long word

如您所见,左侧垂直文本位于红色背景上。右侧的垂直文本较长,因此不在红色背景中。

怎么办,垂直文本的位置总是固定的,不依赖于文本长度?

最佳答案

如果没有进一步的上下文(例如,背景颜色甚至来自哪里),很难完全确定,但我相信这个问题是您的 transform-origin。第一个 50% 将元素向右移动。尝试 0 或一些静态值:

transform-origin: 0 50%;

http://jsfiddle.net/dAUrF/

编辑:This fiddle可以帮助您想象正在发生的事情。红色元素是旋转前的元素,黄色是旋转后的元素。调整原点值并查看它如何影响旋转。

transform-origin 定义旋转发生的点。使用 50% 50% 时,旋转围绕元素的中心进行。

关于css - 使用 css 使文本垂直仅适用于恒定文本长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19868899/

相关文章:

css - 垂直方向文字(writing-mode : lr-bt) . 位置随文字长度变化

python - python 3中的垂直打印字符串

css - 带有 Bootstrap 的边框布局

html - 如何右对齐标签并输入 Twitter bootstrap?

jquery - 向栏边框添加分隔符

css - 有没有办法在 React 中设置边框不透明度?

css - 使用 Bulma CSS 重叠部分

css - 在表格标题单元格上正确设置垂直文本

javascript - 如何将汉堡包添加到我网站的移动 View 中

css - 格式化div中的垂直文本