CSS中⽂本对齐⽅式-⽂本处理案例多⾏⽂本垂直居中
⽗级
display: table;
⼦级
display: table-cell;
vertical-align: middle;
text-align: center;
⽂本对齐⽅式
CSS最常⽤的对齐⽅式,居中对齐、左对齐(默认)、右对齐,⽽且实现起来也是⾮常的简单
p{
text-align: center;
text-align: left;
text-align: right;
}
但是两端对齐你有⽤过吗?
只需要添加text-align-last:justify样式即可
<div class="justify-text">
<div class="li">账号</div>
<div class="li">密码</div>
<div class="li">电⼦邮件</div>
</div>
scss样式
.justify-text {
.li {
padding: 0 20px;
margin-top: 10px;
width: 100px;
background-color: #f13f84;
line-height: 40px;
text-align-last: justify;
color: #fff;
list-style: none;
&:first-child {
margin-top: 0;
}
}
}
⽂本排版⽅向
现代书本上的⽂字都是从左到右的顺序排列,但是古时候不同,⽂字都是从右⾄左排列的,现在在很多古籍、牌坊、⽯碑等上⾯依旧可以看到从右⾄左的⽂字。
css也可以调整⽂本排版⽅向,是通过什么属性控制的呢?
writing-mode 属性定义了⽂本在⽔平或垂直⽅向上如何排布。
writing-mode: horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr
horizontal-tb:⽔平⽅向⾃上⽽下的书写⽅式。即 left-right-top-bottom
vertical-rl:垂直⽅向⾃右⽽左的书写⽅式。即 top-bottom-right-left
vertical-lr:垂直⽅向内内容从上到下,⽔平⽅向从左到右
sideways-rl:内容垂直⽅向从上到下排列
sideways-lr:内容垂直⽅向从下到上排列
<div class="bruce flex-ct-x">
<div class="vertical-text">
<h3>诗经</h3>
<p>
死⽣契阔,<br>
与⼦成说。<br>
执⼦之⼿,<br>
与⼦偕⽼。
</p>
</div>
</div>
scss样式
.vertical-text {
writing-mode: vertical-rl; // ⽂字排版⽅向
h3 {
padding-left: 10px;
font-weight: bold;
font-size: 18px;
color: #d60f5c;
}
p {
line-height: 30px; // ⾏间距
letter-spacing: 7px; // ⽂字间距
color: #ee1166;
}
}
⽂本从右⾄左排列
<div class="reverse-text">
红⾖⽣南国<br/>
春来发⼏枝<br/>
愿君多采撷<br/>
此物最相思
</div>
scss样式
.reverse-text {
font-weight: bold;
font-size: 30px;
color: #f13f84;
width: 200px;
letter-spacing: -70px; // letter-spacing最少是font-size的2倍
}
⽂本溢出控制
⽂本溢出处理不管是PC或者是H5,都是⾮常常见的,⾮详情页⾯都会经常⽤到。
⽂本溢出处理分为:单⾏⽂字溢出 和 多⾏⽂字溢出。下⾯看看具体⽰例:
单⾏⽂字溢出
<div class="ellipsis">昨夜⾬疏风骤,浓睡不消残酒。试问卷帘⼈,却道海棠依旧。知否,知否,应是绿肥红瘦。</div>
scss样式
.ellipsis {
width: 200px;
overflow: hidden; // 溢出隐藏
text-overflow: ellipsis; // 溢出修饰 ellipsis省略号
white-space: nowrap; // ⽂本不会换⾏
}
多⾏⽂字溢出
<div class="ellipsis">寻寻觅觅,冷冷清清,凄凄惨惨戚戚。乍暖还寒时候,最难将息。三杯两盏淡酒,怎敌他、晚来风急!雁过也,正伤⼼,却是旧时相识。
满地黄花堆积,憔悴损,如今有谁堪摘?守着窗⼉,独⾃怎⽣得⿊!梧桐更兼细⾬,到黄昏、点点滴滴。这次第,怎⼀个愁字了得!</div>
scss样式
.ellipsis {
width: 400px;
display: -webkit-box;
overflow: hidden;
text-overflow: ellipsis;
-webkit-line-clamp: 3;
/* autoprefixer: off */
-webkit-box-orient: vertical;
/* autoprefixer: on */
}
注意
使⽤⽂本溢出处理时,容器⼀定要定义宽度。
多⾏⽂字溢出,scss样式添加注释autoprefixer: off并不是为了说明什么,⽽是,在webpack打包编译时,如果没有这个注释,-webkit-box-orient: vertical会被忽略掉。
⽂本选择颜⾊
在浏览器中,当你选择⽂本想要copy时,是不是会发现选择⽂本会有背景⾊和⽂字颜⾊呢?其实它是可以通过css定义的。
使⽤::selection⾃定义⽂本选择颜⾊
<div class="select-color">
<p>红⾖⽣南国,</p>
<p class="special">春来发⼏枝。</p>
<p>愿君多采撷,</p>
<p class="special">此物最相思。</p>
</div>
text align center
scss样式
// 全局⽂本选择样式
::selection {
background-color: #f13f84;
color: #fff;
}
.select-color {
line-height: 30px;
font-weight: bold;
font-size: 30px;
color: #d60f5c;
}
// 具体某个选择器下⽂本选择样式.special::selection {
background-color: #00b7a3;
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。