有没有一种不使用CSS3而垂直显示文本的方法,大多数浏览器都支持这种方法。目前我使用图像代替,但需要更改为实际文本。
也许是CSS和jQuery的组合?

最佳答案

我的第一个答案是

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

但你说你想避免css3(在我看来,这不是一个明智的选择,因为它能很好、快速、高效地完成工作,如果在所有主流浏览器中都能做到,直到IE 7。。。这段代码应该起作用)
如果你真的坚持使用javascript,那么就有了jangle(https://github.com/corydorning/jangle),你可以用它来做类似的事情
 <script>
   $('.element').jangle(90);
 </script>

理想情况下,我会建议您使用css3技巧,然后使用jangle作为回退。您可以使用http://www.modernizr.com/来检测浏览器在CSS(通过html标记上的类)和JavaScript中旋转的能力。
您甚至可以对动画执行同样的操作:CSS 2d转换+动画(如果可用),如果不可用,则返回jangle。
编辑以显示选择器的工作方式:
.element只是一个例子,显然您可以放置任何有效的CSSselector,例如:
 .class {
     background-color: red;
 }
 #ID {
     background-color: green;
 }
 p {
     background-color: blue;
     color:white;
 }

 #ID .class {
     background-color: yellow;
 }

 #ID p.class {
     background-color: grey;
 }

将匹配中的元素
<div id="ID">
    <p class="class">
        Text in a "p" with class "class" inside id "ID"
    </p>
    <p>
        Text in a "p" inside id "ID"
    </p>
    <div class="class">
        Text with class "class" inside id "ID"
    </div>
    Text inside id "ID"
</div>
<p class="class">
   Text in a "p" with class "class"
</p>
<div class="class">
   Text class "class"
</div>
<p>
   Text in a "p"
</p>

你可以看到这里的样子:http://jsfiddle.net/ramsesoriginal/nXqJ2/

09-25 18:24