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
<!DOCTYPE html>
text align center<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>
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
具体可以查看官⽅⽂档:
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>
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>
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论