9.1.5 固定角度旋转
Font Awesome提供了一组样式,用于旋转特定的图标,从而达到“一种图标六种用法”的目的,其样式和旋转角度如表9-1所示。
旋转的用法如下:
- <i class="icon-shield"></i> 正常<br>
- <i class="icon-shield icon-rotate-90"></i> 旋转90度<br>
- <i class="icon-shield icon-rotate-180"></i> 旋转180度<br>
- <i class="icon-shield icon-rotate-270"></i> 旋转270度<br>
- <i class="icon-shield icon-flip-horizontal"></i> 水平翻转<br>
- <i class="icon-shield icon-flip-vertical"></i> 垂直翻转
上述示例的运行效果如图9-5所示。
图9-5 旋转效果
上述5个旋转样式的实现原理是基于CSS3的transform特性实现的。源码如下:
- // 源码316行
- /* Icon rotations and mirroring */
- .icon-rotate-90:before { /* 旋转90度 */
- -webkit-transform: rotate(90deg);
- -moz-transform: rotate(90deg);
- -ms-transform: rotate(90deg);
- -o-transform: rotate(90deg);
- transform: rotate(90deg);
- filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
- }
- .icon-rotate-180:before { /* 旋转180度 */
- -webkit-transform: rotate(180deg);
- -moz-transform: rotate(180deg);
- -ms-transform: rotate(180deg);
- -o-transform: rotate(180deg);
- transform: rotate(180deg);
- filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
- }
- .icon-rotate-270:before { /* 旋转270度 */
- -webkit-transform: rotate(270deg);
- -moz-transform: rotate(270deg);
- -ms-transform: rotate(270deg);
- -o-transform: rotate(270deg);
- transform: rotate(270deg);
- filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
- }
- .icon-flip-horizontal:before { /* 水平翻转 */
- -webkit-transform: scale(-1, 1);
- -moz-transform: scale(-1, 1);
- -ms-transform: scale(-1, 1);
- -o-transform: scale(-1, 1);
- transform: scale(-1, 1);
- }
- .icon-flip-vertical:before { /* 垂直翻转 */
- -webkit-transform: scale(1, -1);
- -moz-transform: scale(1, -1);
- -ms-transform: scale(1, -1);
- -o-transform: scale(1, -1);
- transform: scale(1, -1);
- }
如果大家需要,也可以根据自身情况定义任意角度的旋转样式。
注意
由于使用了CSS3的特性,所以该旋转功能不支持IE7及以下版本。