CSS之writing-mode
2016-06-30 14:05
706 查看
writing-mode的原本作用
writing-mode就是用来实现文字可以竖着呈现的。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>writing-mode</title> <style> .div2 { writing-mode: tb-rl; -webkit-writing-mode: vertical-rl; writing-mode: vertical-rl; } </style> </head> <body> <div class="div1"> <b>江城子</b> <p>十年生死两茫茫,<br>不思量,<br>自难忘。<br> 千里孤坟,<br>无处话凄凉。<br> 纵使相逢应不识,<br>尘满面,<br>鬓如霜。</p> </div> <div class="div2"> <b>江城子</b> <p>夜来幽梦忽还乡,<br>小轩窗,<br>正梳妆。<br>相顾无言,<br>惟有泪千行。<br> 料得年年肠断处,<br>明月夜,<br>短松冈。</p> </div> </body> </html>
CSS3语法
/* 关键字值 */ writing-mode: horizontal-tb; /* 默认值文本流是水平方向(horizontal)的,元素是从上往下(tb:top-bottom)堆叠的*/ writing-mode: vertical-rl; /*垂直方向(vertical)展示,然后阅读的顺序是从右往左(rl:right-left)*/ writing-mode: vertical-lr; /*垂直方向(vertical)展示,然后阅读的顺序还是默认的从左往右(lr:left-right),也就是仅仅是水平变垂直*/ /* 全局值-关键字inherit IE8+,initial和unset IE13才支持 */ writing-mode: inherit; writing-mode: initial; writing-mode: unset;
英文字符横过来了,可以试试使用text-orientation:upright让其直立,IE不支持,FireFox, Chrome支持
IE8下的writing-mode我们需要关注:初始值lr-tb, tb-rl以及tb-lr,分别对应于CSS3中的horizontal-tb, vertical-rl以及vertical-lr
writing-mode: lr-tb | tb-rl | tb-lr (IE8+); writing-mode: horizontal-tb | vertical-rl | vertical-lr;
如果元素是默认的水平流,则垂直margin会重叠;如果元素是垂直流,则水平margin会重叠。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>writing-mode</title> <style> p{ -webkit-margin-before: 0em; -webkit-margin-after: 0em; } .div1 { border: 1px solid goldenrod; width: 200px; margin: 50px; } .div2 { border: 1px solid goldenrod; width: 200px; margin: 50px; writing-mode: tb-rl; -webkit-writing-mode: vertical-rl; writing-mode: vertical-rl; } p{ margin: 20px; background: aqua; } </style> </head> <body> <div class="div1"> <P>margin 20px</P> <P>margin 20px</P> </div> <div class="div2"> <P>margin 20px</P> <P>margin 20px</P> </div> </body> </html>
应用1 使用text-align:center实现图片垂直居中
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>writing-mode</title> <style> *{margin: 0;padding: 0} p{ -webkit-margin-before: 0em; -webkit-margin-after: 0em; } div { border: 1px solid goldenrod; width: 400px; margin: 50px; height: 300px; text-align: center; } .div2 { writing-mode: tb-rl; -webkit-writing-mode: vertical-rl; writing-mode: vertical-rl; text-align: center; } p{ margin: 20px; background: aqua; } </style> </head> <body> <div class="div1"> <img src="../img/11.jpg" alt=""> </div> <div class="div2"> <img src="../img/11.jpg" alt=""> </div> </body> </html>
相关文章推荐
- Web布局连载——两栏固定布局(五)
- [div+css]晒晒最新制作专题推广页模板
- 盒子模型
- CSS选择器
- CSS样式优先权
- [css] line-height 百分比单位和数值单位的区别
- Apple官网研究之使用Justify布局导航
- 关于前端的思考与感悟
- rem : web app适配的秘密武器
- jquery高级应用之Deferred对象
- 移动端点击事件全攻略,这里的坑你知多少?
- $q 实例分析 Angular 中的 Promise
- 设计更快的网页(三):字体和 CSS 调整
- 纯CSS制作的新闻网站中的文章列表
- 10条影响CSS渲染速度的写法与使用建议第1/3页
- BS项目中的CSS架构_仅加载自己需要的CSS
- 很不错的 CSS Hack 又学了一招
- 发一个css比较清爽的写法