CSS3实现文本垂直排列的方法


Posted in HTML / CSS onJuly 10, 2018

最近的一个项目中要使文字垂直排列,也就是运用了CSS的writing-mode属性。

writing-mode最初时ie中支持的一个属性,后来在CSS3中增添了这一新的属性,所以在ie中和其他浏览器中的语法会有区别。

1.0 CSS3标准

writing-mode:horizontal-tb;//默认:水平方向,从上到下 
writing-mode:vertical-rl;  //垂直方向,从右向左
writing-mode:vertical-lr;  //垂直方向,从左向右

demo

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>CSS文字垂直排列</title>
        <style type="text/css">
            div{
                border: 1px solid lightblue;
                padding: 5px;
            }
            .vertical-text{
                -webkit-writing-mode: vertical-rl;
                writing-mode: vertical-rl;
            }
        </style>
    </head>
    <body>
        <div class="vertical-text">
            1. 文字垂直排列 <br />
            2. 文字垂直排列
        </div>
    </body>
</html>

CSS3实现文本垂直排列的方法

2.0 IE中

由于历史的原因,IE下该属性值则显得尤为复杂:

-ms-writing-mode: lr-tb | rl-tb | tb-rl | bt-rl | tb-lr | bt-lr | lr-bt | rl-bt | lr | rl | tb

具体可以查看官方文档:

https://developer.mozilla.org/en-US/docs/Web/CSS/writing-mode/

3.0 一些应用

3.1 垂直居中

通过对这个属性的使用,我们可以结合 text-align:center 实现垂直居中或者使用margin: auto。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>CSS3 图片垂直居中</title>
        <style type="text/css">
            div{
                border: 1px solid lightblue;
                padding: 5px;
                height: 500px;
            }
            .vertical-img{
                -webkit-writing-mode: vertical-rl;
                -ms-writing-mode: bt-rl;
                writing-mode: vertical-rl;
                text-align: center;
            }
        </style>
    </head>
    <body>
        <div class="vertical-img">
             <img src="1.jpg"/>
        </div>
    </body>
</html>

CSS3实现文本垂直排列的方法

3.2 文字下沉效果

我们可以设置文字的writing-mode,然后在结合text-indent来实现文字点击时的下沉效果;

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>文字下沉效果</title>
        <style type="text/css">
            .btn{
                width: 50px;
                height: 50px;
                line-height: 50px;
                color: white;
                text-align: center;
                font-size: 16px;;
                display: inline-block;
                border-radius: 50%;
                background: gray;
                cursor: pointer;
            }
            .btn:active{
                text-indent: 2px;
            }
            .vertical-text{
                 writing-mode: tb-rl;
                -webkit-writing-mode: vertical-rl;      
                writing-mode: vertical-rl;
                *writing-mode: tb-rl;
            }
        </style>
    </head>
    <body>
        <span>点击领红包</span>
        <p class="vertical-text btn">开 </p>
    </body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

HTML / CSS 相关文章推荐
纯CSS3实现表单验证效果(非常不错)
Jan 18 HTML / CSS
CSS3样式linear-gradient的使用实例
Jan 16 HTML / CSS
CSS3属性background-size使用指南
Dec 09 HTML / CSS
CSS3 函数技巧 用css 实现js实现的事情(clac Counters Tooltip)
Aug 15 HTML / CSS
详解如何在css中引入自定义字体(font-face)
May 17 HTML / CSS
详解HTML5中垂直上下居中的解决方案
Dec 20 HTML / CSS
html5教程画矩形代码分享
Dec 04 HTML / CSS
极简的HTML5模版
Jul 09 HTML / CSS
canvas 基础之图像处理的使用
Apr 10 HTML / CSS
Amaze UI 文件选择域的示例代码
Aug 26 HTML / CSS
如何使用canvas绘制可移动网格的示例代码
Dec 14 HTML / CSS
CSS 实现Chrome标签栏的技巧
Aug 04 HTML / CSS
CSS3实现背景透明文字不透明的示例代码
Jun 25 #HTML / CSS
css3 column实现卡片瀑布流布局的示例代码
Jun 22 #HTML / CSS
CSS3 清除浮动的方法示例
Jun 01 #HTML / CSS
CSS3之transition实现下划线的示例代码
May 30 #HTML / CSS
CSS3实现可翻转的hover效果
May 23 #HTML / CSS
详解如何在css中引入自定义字体(font-face)
May 17 #HTML / CSS
CSS3实现多样的边框效果
May 04 #HTML / CSS
You might like
增加反向链接的101个方法 站长推荐
2007/01/31 PHP
apache配置虚拟主机的方法详解
2013/06/17 PHP
WordPress中&quot;无法将上传的文件移动至&quot;错误的解决方法
2015/07/01 PHP
PHP 实现 JSON 数据的编码和解码操作详解
2020/04/22 PHP
php慢查询日志和错误日志使用详解
2021/02/27 PHP
网上应用的一个不错common.js脚本
2007/08/08 Javascript
javascript入门·图片对象(无刷新变换图片)\滚动图像
2007/10/01 Javascript
Jquery插件编写简明教程
2014/03/25 Javascript
javascript中一些util方法汇总
2015/06/10 Javascript
js实现仿京东2级菜单效果(带延时功能)
2015/08/27 Javascript
JS获取文件大小方法小结
2015/12/08 Javascript
基于jQuery1.9版本如何判断浏览器版本类型
2016/01/12 Javascript
JS获取年月日时分秒的方法分析
2016/11/28 Javascript
Vue 2.0学习笔记之使用$refs访问Vue中的DOM
2017/12/19 Javascript
微信小程序中上传图片并进行压缩的实现代码
2018/08/28 Javascript
浅谈微信页面入口文件被缓存解决方案
2018/09/29 Javascript
JS表格的动态操作完整示例
2020/01/13 Javascript
在Vue中使用HOC模式的实现
2020/08/23 Javascript
解决vue使用vant轮播组件swipe + flex时文字抖动问题
2021/01/07 Vue.js
[01:04:14]OG vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python完成FizzBuzzWhizz问题(拉勾网面试题)示例
2014/05/05 Python
python  创建一个保留重复值的列表的补码
2018/10/15 Python
python使用wxpy实现微信消息防撤回脚本
2019/04/29 Python
python针对mysql数据库的连接、查询、更新、删除操作示例
2019/09/11 Python
在python中利用pycharm自定义代码块教程(三步搞定)
2020/04/15 Python
image-set实现Retina屏幕下图片显示详细介绍
2012/12/24 HTML / CSS
同程旅游英文网站:LY.com
2018/11/13 全球购物
Cinque网上商店:德国服装品牌
2019/03/17 全球购物
英国马莎百货印度官网:Marks & Spencer印度
2020/10/08 全球购物
承诺书范文
2014/06/03 职场文书
六一儿童节标语
2014/10/08 职场文书
爱护公物主题班会
2015/08/17 职场文书
幼儿园师德师风心得体会
2016/01/12 职场文书
2016年主题党日活动总结
2016/04/05 职场文书
女性励志书籍推荐
2019/08/19 职场文书
美元符号 $
2022/02/17 杂记