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. [USACO09MAR]Moon哞哞叫Moon Mooing(模拟)

    链接:https://ac.nowcoder.com/acm/contest/1086/F来源:牛客网 题目描述 A full moon casts some sort of spell on the ...

  2. [LC] 151. Reverse Words in a String

    Given an input string, reverse the string word by word. Example 1: Input: "the sky is blue" ...

  3. ionic 创建服务命令

    创建Util工具库 ionic g provider Util

  4. 吴裕雄--天生自然python机器学习:使用决策树预测隐形眼镜类型

    解决策树如何预测患者需要佩戴的隐形眼镜类型.使用小数据 集,我们就可以利用决策树学到很多知识:眼科医生是如何判断患者需要佩戴的镜片类型:一旦 理解了决策树的工作原理,我们甚至也可以帮助人们判断需要佩戴 ...

  5. 在windows系统下安装使用msf

    前沿 msf基本是我在kali里最经使用的工具了 因为今天碰到一些关于VmWare的事情没有解决 windows在前一段时间更新,要求我卸载vmware虚拟机,否则就无法更新. 卸载之后再装回来就无法 ...

  6. 安装php7.2

    1,yum源默认的版本太低了,手动安装有一些麻烦,所以可以采用yum的方式进行安装. 2,检查当前安装的PHP包yum list installed | grep php 如果有安装的PHP包,先删除 ...

  7. webpack4的迁移

    引用于https://www.jianshu.com/p/7ae252f27f09 感觉是突然之间,webpack4的消息就满天飞了,听说打包速度提高了很多,还有最大的噱头是实现了零配置,leader ...

  8. 1.redis安装配置

    Redis 1.Redis安装: 说明: 1.也是一种类似于Memcached的kev-value机制的存储服务 2.是非关系型数据库(NoSQL)的一种. 3.官网:www.redis.io,中文网 ...

  9. 关于使用MyEclipse自动生成Hibernate和Struts出现的jar不兼容的问题(antlr.collections.AST.getLine()I)

    今天做Hibernate和Struts2结合的练习,使用MyEclipse自动创建Hibernate和Struts的相关配置文件和jar包,写完一个查询方法后,准备测试一下结果,简单的查询那种,很诡异 ...

  10. [LC] 12. Integer to Roman

    Roman numerals are represented by seven different symbols: I, V, X, L, C, D and M. Symbol Value I 1 ...