首页 >web前端 >css教程 >css中writing-mode文字显示方向以及兼容的写法

css中writing-mode文字显示方向以及兼容的写法

黄舟
黄舟原创
2017-06-20 09:46:546972浏览

css 的writing-mode据说是为了中文,日文等方块文字设计的,用来修改文字的书写方向,通过这个属性可以实现文字从右向左的布局,或者从上向下的布局。

writing-mode使用

.wrtmod{
    margin:15px;
    padding:15px;
    border:1px solid #bababa;
    background:#f1f1f1;
    font-size:15px;
    writing-mode:vertical-rl;
    writing-mode: tb-rl;
}

效果如下:

chrome浏览器:

1514.png

IE浏览器

1515.png

writing-mode的属性值有:horizontal-tb,vertical-lr,vertical-rl,对应的IE下的值为:lr-tb,tb-lr,tb-rl。

horizontal-tb是默认值。writing-mode的属性值用中划线分割,可以记作XX-OO, horizontal-tb表示文字横向排列,行上下排列,veritcal-rl表示文字上下排列,行从右向左排列。IE的lr-tb表示文字从左到有排列,行从上向下排列,tb-rl表示文字上下排列,行从优向左排列。lr是left,right的首字母缩写,tb是top,bottom首字母的缩写。IE下面还可以使用诸如bt-rl,lr-bt等属性值,排列方式更加丰富。但是为了兼容性在writing-mode属性中只能采用这三个排列方式。

从上面的截图,我们可以看到writing-mode不只改变了文字的书写方向,而且容器的布局方式也随之改变了。chrome,FireFox浏览器下div呈现了inline的特性,

IE8浏览器整个div由横向转为纵向,拥有了高度自适应的特性。

writing-mode的用途一般也就是用在一些诗句的纵向显示,或者一些复古效果的页面上,但是要注意IE8与其他浏览器的不同,它没有呈现inline的特性,所以我们要通过display:inline-block来实现IE下的效果。

.wrtmod{
    margin:15px;
    padding:15px;
    border:1px solid #bababa;
    background:#f1f1f1;
    font-size:15px;
    writing-mode:vertical-rl;
    writing-mode:tb-rl;
    text-align:center;
    line-height:32px;
    letter-spacing: 12px;
    display: inline-block;
 
}
.wrtmod:first-line{
    font-weight:bold;
    color:#0C58A7;
    font-size:18px;
}
 
<div class="wrtmod">
    静夜思<br/>
    窗前明月光<br/>
    疑是地上霜<br/>
    举头望明月<br/>
    低头思故乡
</div>

效果如下:

1516.png

writing-mode改变了书写模式后,使用text-align:center就可以实现上下居中。上面效果使用了letter-spacing和::first-line伪类,再结合write-mode就实现了一首古诗的书写效果。

以上是css中writing-mode文字显示方向以及兼容的写法的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn