除了利用CSS實現文字旋轉外,還可以使用圖片精靈(Image Sprite)和少量用來準確定位的CSS。但這個量可能并不少。這就像搖胡椒罐一樣,弄不好就會突然在食物上撒上一大坨胡椒,讓你噴嚏連天。
幸運的是,如今很多主流瀏覽器都支持旋轉HTML元素的功能。這樣會更好嗎?我可以讓他在IE(甚至是IE5.5版本)上使用。你想問什么?好,我們先來看一下HTML。
- <div class="example-date">
- <span class="day">31span>
- <span class="month">Julyspan>
- <span class="year">2009span>
- div>
這段代碼沒有太多額外的累贅,很是干凈漂亮。我謹慎地選擇了我所使用的日期順序,避免了使用逗號。否則的話,還得使用一個額外的span來從最終的設計中移除逗號。
神奇的CSS
對于Webkit和Firefox(從3.5版本起),你可以利用提案中的transform屬性來處理旋轉。目前,每種瀏覽器都需要為該屬性增加前綴。
-webkit-transform: rotate(-90deg);
-moz-transform: rotate(-90deg);
In order to perform a transformation, the element has to be set to display:block. In this case, just add the declaration to the span that you want to rotate.
為了執行變換,元素必須設置為display:block。在這里,只為需要旋轉的span添加了聲明。
在提到Internet Explorer中的效果時,我不得不說,使用過濾器可以實現異常強大的功能(但很多還沒有開發出來)。其中一個稱作BasicImage的過濾器——這個名字可能有點誤導人——能夠旋轉任何具有布局的元素。
BasicImage過濾器的rotation屬性能夠接受以下四個值之一——0、1、2或3,對應著將元素旋轉0、90、180或270度。
BasicImage過濾器還具有其他一些可供設置的屬性,如mirroring、masking、greyscale等等。另外,你還可以利用Matrix過濾器,但這些坐標對我來說沒有任何意義。
CSS實現文字旋轉實際效果
CSS實現文字旋轉的實際效果如何請使用Safari、Firefox或Internet Explorer查看原文(英文)頁面,你會看到如下圖所示的效果。也許最大的區別就在于文本呈現的不一致。Internet Explorer對于任何應用了過濾器的文本都會丟棄ClearType特性。你還會看到,對于Safari和Firefox,日期和年份之間的間距是不同的。文本呈現上的區別導致很難建立“像素完美(Pixel Perfect)”的布局。
希望本文可以給你帶來一些靈感。雖然在IE中需要耍一些花招,不過我們還是感受到了布局的樂趣。