有没有一种不使用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/