首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态垂直文本垂直对齐问题

动态垂直文本垂直对齐问题
EN

Stack Overflow用户
提问于 2016-11-04 14:12:33
回答 3查看 69关注 0票数 1

我有一些文本,它们在不同的页面上可能是不同的。我需要让它垂直居中对齐。由于文本的宽度较小,因此存在一些问题。

代码语言:javascript
复制
.vertical-text-block {
  width: 40px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  float: left;
  background-color: grey;
}
.vertical-text {
  display: block;
  position: relative;
  top: 50%;
  white-space: nowrap;
  font-size: 10px;
  text-transform: uppercase;
  transform: translateY(-50%);
  transform: rotate(-90deg);
}
代码语言:javascript
复制
<div class="vertical-text-block">
  <span class="vertical-text">ASHWANI SHARMA</span>
</div>

它应该看起来像下面的图片:

EN

回答 3

Stack Overflow用户

发布于 2016-11-04 14:28:15

我添加了right: 50%transform-origin: right并删除了transform: translateY()

代码语言:javascript
复制
.vertical-text-block {
  width: 40px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  float: left;
  background-color: grey;
  background-image: linear-gradient(darkgrey 0%, darkgrey 50%, lightgrey 50%);
  background-repeat: no-repeat;
}
.vertical-text {
  display: block;
  position: relative;
  top: 50%;
  right: 50%;                      /* 1 */
  white-space: nowrap;
  font-size: 10px;
  text-transform: uppercase;
  /*transform: translateY(-50%);*/ /* 2 */
  transform: rotate(-90deg);
  transform-origin: right;         /* 3 */
}
代码语言:javascript
复制
<div class="vertical-text-block">
  <span class="vertical-text">ASHWANI SHARMA</span>
</div>

票数 1
EN

Stack Overflow用户

发布于 2016-11-04 23:36:41

我对DOM做了一个小的修改,并且能够实现它,即居中显示文本,而不考虑它的长度

对DOM做了一个小改动。

代码语言:javascript
复制
<div class="vertical-text-wrap">
<div class="vertical-text-block">
</div>
<span class="vertical-text">American Leadership Index</span>
</div>

添加了一个额外的包装器,希望它被允许。

代码语言:javascript
复制
.vertical-text-wrap {
  position: absolute;
  height: 100%;
  margin: 0px 20px;
}
.vertical-text-block {
  width: 40px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  float: left;
  background-color: grey;
}
.vertical-text {
  display: inline-block;
  position: relative;
  top: 50%;
  left: -35%;
  font-size: 10px;
  text-transform: uppercase;
  transform-origin: 50% 50%;
  transform: translateY(50%) rotate(-90deg);
}
代码语言:javascript
复制
<div class="vertical-text-wrap">
  <div class="vertical-text-block">

  </div>
  <span class="vertical-text">American Leadership Index</span>
</div>

这里需要注意的是,当文本变短时,span.vertical-textleft位置必须进行调整。

但是,它是垂直居中的:)

票数 1
EN

Stack Overflow用户

发布于 2016-11-04 15:55:21

我认为你也可以这样做,只需在. http://codepen.io/Danstan/pen/QGWggO上正确添加translateX和translateY就可以了--所有内容都会居中显示

代码语言:javascript
复制
.vertical-text {
font-size:8px;
text-transform: uppercase;
position: absolute;
top: 50%;
left: 50%;
white-space: nowrap;
-webkit-transform: translateX(-50%) translateY(-50%) rotate(90deg);
transform: translateX(-50%) translateY(-50%) rotate(90deg); white-space: nowrap;font-size: 10px;}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40416385

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档