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之背景尺寸Background-size使用介绍
Oct 14 HTML / CSS
可以随进度显示不同颜色的css3进度条分享
Apr 11 HTML / CSS
利用CSS3制作简单的3d半透明立方体图片展示
Mar 25 HTML / CSS
css3的动画特效之动画序列(animation)
Dec 22 HTML / CSS
css3实现六边形边框的实例代码
May 24 HTML / CSS
css3 transform导致子元素固定定位变成绝对定位的方法
Mar 06 HTML / CSS
HTML5 Canvas draw方法制作动画效果示例
Jul 11 HTML / CSS
一个不错的HTML5 Canvas多层点击事件监听实例
Apr 29 HTML / CSS
一款html5 canvas实现的图片玻璃碎片特效
Sep 11 HTML / CSS
html5使用canvas实现弹幕功能示例
Sep 11 HTML / CSS
AmazeUI导航的示例代码
Aug 14 HTML / CSS
如何使用canvas绘制可移动网格的示例代码
Dec 14 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
PHP extract 将数组拆分成多个变量的函数
2010/06/30 PHP
Yii视图CGridView实现操作按钮定义地址示例
2016/07/14 PHP
Win10 下安装配置IIS + MySQL + nginx + php7.1.7
2017/08/04 PHP
php微信开发之关键词回复功能
2018/06/13 PHP
新手入门常用代码集锦
2007/01/11 Javascript
jquery 弹出层实现代码
2009/10/30 Javascript
ASP.NET jQuery 实例5 (显示CheckBoxList成员选中的内容)
2012/01/13 Javascript
jquery form 加载数据示例
2014/04/21 Javascript
不到30行JS代码实现Excel表格的方法
2014/11/15 Javascript
JS和css实现检测移动设备方向的变化并判断横竖屏幕
2015/05/25 Javascript
修改js confirm alert 提示框文字的简单实例
2016/06/10 Javascript
JS实现环形进度条(从0到100%)效果
2016/07/05 Javascript
JS实现的幻灯片切换显示效果
2016/09/07 Javascript
纯js实现html转pdf的简单实例(推荐)
2017/02/16 Javascript
angular2中router路由跳转navigate的使用与刷新页面问题详解
2017/05/07 Javascript
微信小程序开发之toast提示插件使用示例
2017/06/08 Javascript
Vue.js学习笔记之修饰符详解
2017/07/25 Javascript
vue组件初学_弹射小球(实例讲解)
2017/09/06 Javascript
node.js学习之断言assert的使用示例
2017/09/28 Javascript
微信小程序图片轮播组件gallery slider使用方法详解
2018/01/31 Javascript
浅谈vue异步数据影响页面渲染
2019/10/29 Javascript
Python寻找路径和查找文件路径的示例
2019/07/10 Python
Python进阶之迭代器与迭代器切片教程
2020/01/29 Python
python 轮询执行某函数的2种方式
2020/05/03 Python
Html5页面上如何禁止手机虚拟键盘弹出
2020/03/19 HTML / CSS
如何查看浏览器对html5的支持情况
2020/12/15 HTML / CSS
Kiwi.com中国:找到特价机票并发现新目的地
2019/10/27 全球购物
应届毕业生专业个人求职自荐信格式
2013/11/20 职场文书
机电一体化职业规划书
2014/01/07 职场文书
商铺租赁意向书
2014/04/01 职场文书
2014年初一班主任工作总结
2014/11/08 职场文书
酒店保洁员岗位职责
2015/02/26 职场文书
2015年外贸业务员工作总结范文
2015/05/23 职场文书
PHP实现考试倒计时功能代码
2021/04/16 PHP
基于Java的MathML转图片的方法(示例代码)
2021/06/23 Java/Android
Java实现带图形界面的聊天程序
2022/06/10 Java/Android