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. PAT甲级——1012 The Best Rank

    PATA1012 The Best Rank To evaluate the performance of our first year CS majored students, we conside ...

  2. The sequence and de novo assembly of the giant panda genome.ppt

    sequencing:使用二代测序原因:高通量,短序列 不用长序列原因: 1.算法错误率高 2.长序列测序将嵌合体基因错误积累.嵌合体基因:通过重组由来源与功能不同的基因序列剪接而形成的杂合基因 se ...

  3. AI动作捕捉技术,会让制造业大幅度降低成本吗?

    现代动作捕捉系统应该是起源于100多年前的动画工业,通过一种叫做"动态遮罩或影像描摹"的技术,动画师们可以获得流畅的.栩栩如生的动作:后来到了20世纪80年代,动画师们设计出带有活 ...

  4. vue2.0学习之路由

    下载vue-router: cnpm install vue-router --save router/main.js /*引入所需要的组件*/ import VueRouter from 'vue- ...

  5. 【ubuntu】乱七八糟

    https://blog.csdn.net/totorocyx/article/details/80032556 https://blog.csdn.net/weixin_40662331/artic ...

  6. springboot学习笔记:5.spring mvc(含FreeMarker+layui整合)

    Spring Web MVC框架(通常简称为"Spring MVC")是一个富"模型,视图,控制器"的web框架. Spring MVC允许你创建特定的@Con ...

  7. 树剖裸题——BZOJ1036 树的统计

    #include<cstring> #include<cmath> #include<algorithm> #include<cstdio> #defi ...

  8. linux下添加行数和修改tab空格数

    在/etc/vimrc文件中添加: set nu set ts=4 保存即可

  9. Nginx笔记总结十八:nginx统计响应的http状态码信息(ngx-http-status-code-counter)

    编译:./configure --prefix=/usr/local/nginx --add-module=../ngx_http_status_code_counter-master make &a ...

  10. python的拆包(扫盲)

    什么是拆包 拆包: 对于函数中的多个返回数据, 去掉元组, 列表 或者字典 直接获取里面数据的过程. 怎么拆包 1) 对列表进行拆包 my_list = [1, 3.14, "hello&q ...