direction介绍

属性值和兼容都很好

CSSdirection属性简单好记,属性值少,兼容性好,关键时候省心省力,是时候给大家宣传宣传,不要埋没了人家的特殊技能。

Chrome Safari Firefox Opera IE Android iOS
2.0+ 1.3+ Any 9.2+ 5.5+ Any 3.1+

从表中可以看出android和ios的很早版本就在支持direction属性了。基本上,大家只要关心下面这两个属性值就好了:

direction: ltr;   // 默认值
direction: rtl;//标点符号也是反的,适用于阿拉伯文字和古汉语等

其中,ltr是初始值,表示left-to-right,就是从左往右的意思,
rtl则是另外一个值,right-to-left缩写,就是从右往左的意思。
默认时的图片是从左往右依次排布的;就是direction: ltr; // 默认值

<p><img src="demo.jpg" alt=""><img src="demo1.jpg" alt=""></p>


那通过direction: rtl; 就可以改变内联块元素的顺序:从右向左依次排布:

<p class="rtl"><img src="demo.jpg" alt=""><img src="demo1.jpg" alt=""></p>
<style>
.rtl{
text-align: left;
direction:rtl;
}
</style>


看吧,很神奇对不对,代码里并没有改变书写顺序;只需要加上{text-align:left;direction:rtl;}就让文档流的渲染改变了方向;

direction只能改变内联块元素的顺序,对于内联元素和text-align是一样的

那什么是“内联块元素”呢?包括替换元素(replaced element),如<img>,<button>,<input>,<video>,<object>等,或者inline-block的元素。因此,只有任意元素设置display:inline-block,都会看到左右顺序的变化。

简单的一个domo

在做弹窗的时候;一般都有确定和取消button;有的是左‘取消‘右‘确认‘,有的是左‘确认’右’取消’。如果 在同一个项目中需要2种情况都存在的时候呢?
第一种;可以用flex布局,但flex布局在安卓低版本webview下有兼容问题;
第二种就是用direction:rtl;属性了;

<div style="text-align: center;"><span>确定</span><span>取消</span></div>
<style>
span {
display: inline-block;
background-color: #f0f3f9;
padding: 5px 10px;
margin: 0 10px;
}
</style>

<div class='rtl' style="text-align: center;"><span>确定</span><span>取消</span></div>
<style>
.trl{
direction:rtl;
}
span {
display: inline-block;
background-color: #f0f3f9;
padding: 5px 10px;
margin: 0 10px;
}
</style>

writing-mode介绍

先来看看writing-mode都有哪些属性值:

writing-mode: horizontal-tb;    //默认值 水平从左到右满横行后折行;
writing-mode: vertical-rl; //垂直从上到下书写满竖行后折行(从右边开始书写)古代汉语的顺序
writing-mode: vertical-lr; //垂直从上到下书写满竖行后折行(从左边开始书写)

和direction相似writing-mode也是改变文档流的顺序滴,在caniuser网站显示的兼容性基本所有现代浏览器都支持此属性。

中国古诗词

writing-mode属性本来就是为了解决像中国古汉语这样的排版顺序的;像

<style>
.verticle-mode {
writing-mode: vertical-rl;
}
</style>
<div class="verticle-mode">
<h4>枫桥夜泊</h4>
<p>月落乌啼霜满天,</p><p>江枫渔火对愁眠。</p><p>姑苏城外寒山寺。</p><p>夜半钟声到客船。</p>
</div>

别的地方能用吗

direction和writing-mode的介绍的更多相关文章

  1. 改变CSS世界纵横规则的writing-mode属性

    改变CSS世界纵横规则的writing-mode属性 这篇文章发布于 2016年04月27日,星期三,23:12,归类于 css相关. 阅读 8292 次, 今日 71 次 by zhangxinxu ...

  2. Python 练习 —— 2048

    1. 引言 2048 这段时间火的不行啊,大家都纷纷仿造,"百家争鸣",于是出现了各种技术版本号:除了手机版本号,还有C语言版.Qt版.Web版.java版.C#版等,刚好我接触P ...

  3. 树莓派学习笔记——使用文件IO操作GPIO SysFs方式

    0 前言     本文描写叙述假设通过文件IO sysfs方式控制树莓派 GPIO端口.通过sysfs方式控制GPIO,先訪问/sys/class/gpio文件夹,向export文件写入GPIO编号, ...

  4. Linux下用文件IO的方式操作GPIO(/sys/class/gpio)

    通过sysfs方式控制GPIO,先访问/sys/class/gpio目录,向export文件写入GPIO编号,使得该GPIO的操作接口从内核空间暴露到用户空间,GPIO的操作接口包括direction ...

  5. Linux下用文件IO的方式操作GPIO(/sys/class/gpio)(转)

    通过sysfs方式控制GPIO,先访问/sys/class/gpio目录,向export文件写入GPIO编号,使得该GPIO的操作接口从内核空间暴露到用户空间,GPIO的操作接口包括direction ...

  6. 使用GPIO监听中断

    #include<stdlib.h> #include<stdio.h> #include<string.h> #include<unistd.h> # ...

  7. linux下使用文件IO监听GPIO中断

    完整的程序如下: #include<stdlib.h> #include<stdio.h> #include<string.h> #include<unist ...

  8. GPIO编程2:使用GPIO监听中断完整程序

    一个完整的使用GPIO捕捉中断的程序: #include<stdlib.h> #include<stdio.h> #include<string.h> #inclu ...

  9. 成为编程大牛很简单,把这些书看个八成就OK

    原文链接:http://lucida.me/blog/developer-reading-list/ 本文把程序员所需掌握的关键知识总结为三大类19个关键概念,然后给出了掌握每个关键概念所需的入门书籍 ...

  10. EnCase v.s. FTK - find out Chinese characters writing in different direction

    A friend of mine said to me that she could fool those forensic tools easily by changing writing dire ...

随机推荐

  1. VBA引用管理工具(可用于32、64位Office,Win7 Win10均可)

    VBAReferenceManager安装和使用方法,操作请看动态图: 下载地址: VBAReferenceManager.zip

  2. 【转】HeadFirst 组合模式+迭代器错误原因以及解决代码

    http://blog.csdn.net/sugar_girl/article/details/53400267     <HeadFirst JAVA设计模式>中用迭代器迭代组合模式是存 ...

  3. javascript 实现最简单的阶乘!

    <script type='text/javascript'>      window.onload =  get(5);   function  get(n){   document.w ...

  4. yaml文件的格式

    后缀为.yml    格式一般就是key:空格 value    这里的value可以是 普通数据(数字,字符串)   ---------------------------------------- ...

  5. 对“深入理解 Java 内存模型(六)——final”的学习

    转载自https://www.infoq.cn/article/java-memory-model-6/ 与前面介绍的锁和 volatile 相比较,对 final 域的读和写更像是普通的变量访问.对 ...

  6. mysql安装后,进DOS输入命令mysql,提示错误:mysql ERROR 1045 (28000)的解决办法

    一.修改my.ini文件,并重启mysql服务 找到配置文件my.ini  ,然后将其打开,可以选择用记事本打开 打开后,搜索mysqld关键字,找到后,在mysqld下面添加skip-grant-t ...

  7. RSA算法原理(简单易懂)

    1. 什么是RSA RSA算法是现今使用最广泛的公钥密码算法,也是号称地球上最安全的加密算法.在了解RSA算法之前,先熟悉下几个术语 根据密钥的使用方法,可以将密码分为对称密码和公钥密码 对称密码:加 ...

  8. PHP导出excel文件的多种方式

    1.第一种实现的方法 set_time_limit(0); //逐条导出数据 ob_end_clean(); header("Content-type: application/vnd.ms ...

  9. Java正则表达式java.util.regex类的简单使用

    1.什么是正则表达式? 正则表达式(regular expression)是根据字符串集合内每个字符串共享的共同特性来描述字符串集合的一种途径.正则表达式可以用于搜索.编辑或者处理文本和数据. Jav ...

  10. 用shell脚本新建文件并自动生成头说明信息

    目标: 新建文件后,直接给文件写入下图信息 代码实现: [root@localhost test]# vi AutoHead.sh #!/bin/bash #此程序的功能是新建shell文件并自动生成 ...