看完这篇博客,你将了解
- line-height 基础
- $nbsp
- 如何实现文本两端对齐
- 如何让单词换行
- 如何让溢出的文本用省略号表示
- 如何让文字垂直居中
- 如何查找字体,引入字体
- 如何隐藏垂直滚动条
- 不写死 width, height 的方法
- 图片下方有空隙怎么办
line-height
line-height 取值可以用倍数表示
line-height: 1
: 意味着 div 高度(height) = 字体高度(font-size)
如果不写 line-height
的话,它默认为不同字体上设定的建议行高(如 1.2, 1.3 等)
此时:div 高度 = font-size * 建议行高
$nbsp
= no break space,就是不换行的空格
如何实现文本两端对齐?
用以下套路实现即可
- 给所在元素确定宽度
- 给所在元素加上
text-align: justify
为所在元素添加以下子类
.el::after { content: ''; display: inline-block; width: 100%; }
demo:文本两端对齐 demo
如何让单词换行
当出现如
2222... 横向溢出 div 的时候,只要
.el {
word-break: break-all;
}
就可以了
原因
不带空格的连续数字英文字母组合或一个汉字是一个单词,单词一般不会拆开换行,
比如 abcdefg 是一个单词,那么不会出现 abcd 在第一行末,efg 另起第二行始的情况
word-break: break-all
让单词拆开换行成为可能
如何让溢出的文本用省略号表示
分为两种情况记住各自的套路就行
单行文本
.el {
white-space: nowrap; /* 作用是让文本不换行,强行写在一行 */
text-overflow: ellipsis;
overflow: hidden;
}
多行文本
多用于文本展开折叠,比如网易云音乐的歌单简介里,就用到这种方法
.el {
display: -webkit-box;
-webkit-line-clamp: 2; /*2 是指定的最大行数 */
-webkit-box-orient: vertical;
overflow: hidden;
}
demo:单行文本溢出省略,多行文本溢出省略
如何让文字垂直居中
方法一: height === line-height
,因为写死了高度不推荐
方法二:line-height + padding-top + padding-bottom
demo: 文字垂直居中
如何查找字体,引入字体?
- 查找字体:whatFont 上传图片,找到免费的字体名
- 引入字体:googleFont 搜索字体名,拷贝代码
在 css 引入本地字体
/* 在 @font-face 关联字体名称与路径 */
@font-face{
font-family:windy; /* windy 是自定义的命名 */
src:url('../font/windy.ttf');
}
/* 然后正常使用 */
p{
font-family:windy; /*用上刚才我们命名的windy*/
font-size:16px;
}
如何隐藏垂直滚动条?
margin-right: -15px;
不写死 width, height 的方法
不得不写宽度时,可以用 min-width
妥协
不得不写高度时,可以用 line-height
+ padding
妥协
图片下方有空隙怎么办?
vertical-align: top;
img {display: block;}
暂无评论