【问题标题】:Why isn't this text rotated? [duplicate]为什么不旋转此文本? [复制]
【发布时间】:2017-05-09 23:38:10
【问题描述】:

我尝试了很多变体,但都没有运气。我错过了什么?

#menu {
	position: absolute;
	width: 50px;
	height: 250px;
	top: 15px;
	left: 0;
	background-color: #ee2e24;
	color: white;
}
#menu span {
	transform: rotate(90deg);
	transform-origin: left top 0;
}
<div id="menu"><span>MAIN MENU</span></div>

【问题讨论】:

标签: css


【解决方案1】:

你需要将display:inline-block;添加到span中

#menu {
  position: absolute;
  width: 50px;
  height: 250px;
  top: 15px;
  left: 0;
  background-color: #ee2e24;
  color: white;
}

span {
  display: inline-block;
  transform: rotate(90deg);
  /*transform-origin: left top 0;*/
  margin-top: 10px;
}
<div id="menu"><span>MAIN MENU</span></div>

【讨论】:

  • 填充/边距?
  • @mplungjan 你可以使用 padding 和 margin :)
【解决方案2】:

试试text-orientation

#menu {
	position: absolute;
	width: 50px;
	height: 250px;
	top: 15px;
	left: 0;
	background-color: #ee2e24;
	color: white;
}
#menu span {
	writing-mode: vertical-rl;
  text-orientation: sideways;
}
<div id="menu"><span>MAIN MENU</span></div>

【讨论】:

  • 这治愈了我的癌症。兼容性如何?
  • 恐怕没那么多(目前似乎只有 Firefox 支持)。对不起。
  • 但是根据这篇文章,您似乎应该做同样的事情:davidwalsh.name/css-vertical-text
  • @Scott developer.mozilla.org/de/docs/Web/CSS/… github.com/Fyrd/caniuse/issues/2077
  • 它可以在 Chrome/Webkit 中运行,这正是我所需要的。谢谢!
【解决方案3】:
  1. 您不能在 SA sn-ps 中使用 LESS 或 SCSS。只是纯 CSS,所以将 span 移出 #menu
  2. span 是一个内联元素。您不能转换内联元素。使用 display: block 使 span 成为一个块元素

#menu {
  position: absolute;
  width: 50px;
  height: 250px;
  top: 15px;
  left: 0;
  background-color: #ee2e24;
  color: white;
}
#menu span {
  transform: rotate(-90deg) translateX(-100%);
  transform-origin: 0% 0%;
  display: block;
}
<div id="menu"><span>MAIN MENU</span></div>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-10
    • 1970-01-01
    • 2011-09-12
    • 2021-02-08
    • 1970-01-01
    相关资源
    最近更新 更多