writing-mode
這個CSS屬性以前是IE的獨有屬性,IE5.5瀏覽器就已經支持了。在很長一段時間里,FireFox, Chrome這些現代瀏覽器都不支持writing-mode,各大現代瀏覽器紛紛對
writing-mode
實現了更加標准的支持(主要得益於FireFox瀏覽器的積極跟進)。
1.writing-mode的瀏覽器的兼容性如下:
2.writing-mode的語法:
writing-mode:horizontal-tb | vertical-rl | vertical-lr
默認值:horizontal-tb
取值:
horizontal-tb:水平方向自上而下的書寫方式。即 left-right-top-bottom(類似IE私有值lr-tb)
vertical-rl:垂直方向自右而左的書寫方式。即 top-bottom-right-left(類似IE私有值tb-rl)
vertical-lr:垂直方向自左而右的書寫方式。即 top-bottom-left-rightlr-tb:左-右,上-下。對象中的內容在水平方向上從左向右流入,后一行在前一行的下面。 所有的字形都是豎直向上的。這種布局是羅馬語系使用的(IE)tb-rl:上-下,右-左。對象中的內容在垂直方向上從上向下流入,自右向左。后一豎行在前一豎行的左面。全角字符是豎直向上的,半角字符如拉丁字母或片假名順時針旋轉90度。這種布局是東亞語系通常使用的(IE)
說明:
設置或檢索對象的內容塊固有的書寫方向。西方語言一般都是 lr-tb 的書寫方式,但是亞洲語言 lr-tb | tb-rl 的書寫方式都有。
- 作為IE的私有屬性之一,IE5.5率先實現了 writing-mode ,后期被w3c采納成標准屬性;
- 此屬性效果不能被累加使用。例如,父對象的此屬性值設為 tb-rl ,子對象再設置該屬性將不起作用,仍應用父對象的設置。
- 對應的腳本特性為writingMode。
3.舉例:
<html lang="zh-ch">
<head>
<meta charset="utf-8" />
<title>writing-mode</title>
<style>
ul{
list-style: none;
margin:0 auto;
}
ul li.test{
margin-right:20px;
}
.test{
width:100px;
height:100px;
border:1px solid #aaa;
margin:0 auto 20px;
font-size: 14px;
padding:10px;
}
.test span{
color:red;
font-weight:700;
}
.lr-tb{
-webkit-writing-mode:horizontal-tb;
writing-mode:lr-tb;
writing-mode:horizontal-tb;
}
.tb-rl{
-webkit-writing-mode:vertical-rl;
writing-mode:tb-rl;
writing-mode:vertical-rl;
}
.tb-lr{
-webkit-writing-mode:vertical-lr;
writing-mode:tb-rl;
writing-mode:vertical-lr;
}
</style>
</head>
<body>
<div class="test lr-tb">
本段文字將按照<span>水平從左到右</span>的書寫方向進行流動。
</div>
<div class="test tb-rl">
本段文字將按照<span>垂直從右到左</span>的書寫方向進行流動。
</div>
<div class="test tb-lr">
本段文字將按照<span>垂直從左到右</span>的書寫方向進行流動。
</div>
<ul class="tb-rl">
<li class="test">本段文字將按照垂直從右到左的書寫方向進行流動。</li>
<li class="test">本段文字將按照垂直從右到左的書寫方向進行流動。</li>
</ul>
<ul class="tb-lr">
<li class="test">本段文字將按照垂直從左到右的書寫方向進行流動。</li>
<li class="test">本段文字將按照垂直從左到右的書寫方向進行流動。</li>
</ul>
</body>
</html>
結果如下圖:
但是ie7中沒有效果,看下面的例子:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Writing mode</title> <style> .vertical-mode { writing-mode: tb-rl; -webkit-writing-mode: vertical-rl; writing-mode: vertical-rl; } /* IE7比較弱,需要做點額外的動作 */ .vertical-mode { *width: 120px; } .vertical-mode h4, .vertical-mode p { *display: inline; *writing-mode: tb-rl; } .vertical-mode h4 { *float:right; } </style> </head> <body> <h4>詠柳</h4> <p>碧玉妝成一樹高,<br>萬條垂下綠絲絛。<br>不知細葉誰裁出,<br>二月春風似剪刀。</p> <div class="vertical-mode"> <h4>詠柳</h4> <p>碧玉妝成一樹高,<br>萬條垂下綠絲絛。<br>不知細葉誰裁出,<br>二月春風似剪刀。</p> </div> </body> </html>
ie7中效果正常。
如果想查看更多詳細信息,可以點擊這里:http://css.doyoe.com/,以及http://www.zhangxinxu.com/wordpress/2016/04/css-writing-mode/