html中让列表纵向紧密排列,CSS3实现文本垂直排列的方法

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

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

1.0 CSS3标准

writing-mode:horizontal-tb;//默认:水平方向,从上到下

writing-mode:vertical-rl; //垂直方向,从右向左

writing-mode:vertical-lr; //垂直方向,从左向右

demo

CSS文字垂直排列

div{

border: 1px solid lightblue;

padding: 5px;

}

.vertical-text{

-webkit-writing-mode: vertical-rl;

writing-mode: vertical-rl;

}

1. 文字垂直排列

2. 文字垂直排列

7cfadea5f2a416cc0012b7131a3f4d81.png

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。

CSS3 图片垂直居中

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;

}

1.jpg

c77909d2ce1f843342bc3d7d6525f631.png

3.2 文字下沉效果

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

文字下沉效果

.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;

}

点击领红包

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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值