javascript / jQuery / CSS - 垂直文本?

时间:2010-10-27 21:37:50

标签: javascript jquery css vertical-alignment

如何垂直绘制文字,例如在此网站中http://cure.org/help-now/? 我看到它是用jQuery + SlideDeck完成的,因为我看到它们被加载了,但这个插件究竟是怎么做到的?

Firefox有css -moz-transform,但其他浏览器没有此类属性,该网站的垂直文本显示在所有浏览器中

5 个答案:

答案 0 :(得分:5)

This answer提供了适用于IE,Firefox,Opera和Webkit的解决方案。

答案 1 :(得分:3)

用CSS3完成。

CSS3附带了许多新属性,但并非所有浏览器都支持它们。在他们使用的网页上

/* webkit browsers */
-webkit-transform: rotate(270deg);
-webkit-transform-origin-x: 25px;
-webkit-transform-origin-y: 0px;

/* firefox */
-moz-transform:rotate(270deg);
-moz-transform-origin:25px 0;

/* internet explorer */
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);

正如您所看到的,他们使用过滤器进行Internet Explorer(它有点hacky)

答案 2 :(得分:2)

on ie 9作品:

margin-bottom:0;margin-left:0;z-index:5;
/* Safari */ -webkit-transform: rotate(-90deg); 
/* Firefox */ -moz-transform: rotate(-90deg);
-moz-transform-origin: 20px 0px;  
/* Internet explorer 7 */  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
/* Internet Explorer 8*/  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
-ms-transform: rotate(0deg);
/* opera*/ -o-transform: rotate(-90deg);  
/* opera tmb*/ -o-transform-origin:150px 150px; 

答案 3 :(得分:1)

<dt class="spine spine_1 previous" style="position: absolute; z-index: 3; display: block; left: 0px; width: 330px; height: 50px; padding-top: 0px; padding-right: 20px; padding-bottom: 0px; padding-left: 10px; -webkit-transform: rotate(270deg); -webkit-transform-origin-x: 25px; -webkit-transform-origin-y: 0px; text-align: right; top: 335px; margin-left: -25px; ">
  GIVE
  <div class="index" style="position: absolute; z-index: 2; display: block; width: 50px; height: 50px; text-align: center; bottom: -25px; left: 20px; -webkit-transform: rotate(90deg); -webkit-transform-origin-x: 25px; -webkit-transform-origin-y: 0px; ">
    1
  </div>
</dt>

看看代码背后,它们似乎依赖于-webkit-transform: rotate(270deg);

在IE8中打开并使用开发人员工具进行检查我看到了

z-index: 3; position: absolute; text-align: right; filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); PADDING-BOTTOM: 0px; padding-left: 10px; width: 330px; padding-right: 20px; display: block; height: 50px; margin-left: 0px; top: 0px; padding-top: 0px; left: 0px; rotation: 270deg; webkittransform: rotate(270deg); WebkitTransformOrigin: 25px 0px; moztransform: rotate(270deg); MozTransformOrigin: 25px 0px; otransform: rotate(270deg); OTransformOrigin: 25px 0px;

这件事突然发生在我身上:filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);

答案 4 :(得分:1)

它为不同的浏览器使用不同的样式:

-moz-transform: rotate(270deg);
-moz-transform-origin: 25px 0px;

filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);

-webkit-transform: rotate(270deg);
-webkit-transform-origin: 25px 0px;

-o-transform: rotate(270deg);
-o-transform-origin: 25px 0px;