一、阿里矢量图标(字体图标)
1.使用步骤
1.登录阿里矢量图标网站
2.搜索想要的图标且加到购物车
3.点击右上角的购物车
4.选择下载代码,下载完成后解压文件
5.把下载的文件放到你的项目中
6.引入iconfont.css文件或者iconfont.js文件
使用三种方式:下载代码
1、Unicode 方式引用
Unicode 是字体在网页端最原始的应用方式,特点是:
- 兼容性最好,支持 IE6+,及所有现代浏览器。
- 支持按字体的方式去动态调整图标大小,颜色等等。
- 但是因为是字体,所以不支持多色。只能使用平台里单色的图标,就算项目里有多色图标也会自动去色。
注意:新版 iconfont 支持多色图标,这些多色图标在 Unicode 模式下将不能使用,如果有需求建议使用symbol 的引用方式
使用步骤如下:
第一步:引入项目下面生成的 fontclass 代码:
<link rel="stylesheet" href="./iconfont.css">
第二步:挑选相应图标并获取字体编码,应用于页面
<span class="iconfont">3</span>
2、font-class 方式引用
font-class 是 Unicode 使用方式的一种变种,主要是解决 Unicode 书写不直观,语意不明确的问题。
与 Unicode 使用方式相比,具有如下特点:
- 兼容性良好,支持 IE8+,及所有现代浏览器。
- 相比于 Unicode 语意明确,书写更直观。可以很容易分辨这个 icon 是什么。
- 因为使用 class 来定义图标,所以当要替换图标时,只需要修改 class 里面的 Unicode 引用。
- 不过因为本质上还是使用的字体,所以多色图标还是不支持的。
使用步骤如下:
第一步:引入项目下面生成的 fontclass 代码:
<link rel="stylesheet" href="./iconfont.css">
第二步:挑选相应图标并获取类名,应用于页面:
<span class="iconfont icon-xxx"></span>
" iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。
3、Symbol方式引用
这是一种全新的使用方式,应该说这才是未来的主流,也是平台目前推荐的用法。相关介绍可以参考这篇文章 这种用法其实是做了一个 SVG 的集合,与另外两种相比具有如下特点:
- 支持多色图标了,不再受单色限制。
- 通过一些技巧,支持像字体那样,通过
font-size
,color
来调整样式。 - 兼容性较差,支持 IE9+,及现代浏览器。
- 浏览器渲染 SVG 的性能一般,还不如 png。
使用步骤如下:
第一步:引入项目下面生成的 symbol 代码:
<script src="./iconfont.js"></script>
第二步:加入通用 CSS 代码(引入一次就行):
<style>
.icon {
width: 1em;
height: 1em;
vertical-align: -0.15em;
fill: currentColor;
overflow: hidden;
}
//改变样式
.icon{
width: 100px;
height: 100px;
font-size: 20px;
display: block;
}
</style>
第三步:挑选相应图标并获取类名,应用于页面:
<svg class="icon" aria-hidden="true">
<use xlink:href="#icon-xxx"></use>
</svg>
2.引入字体图标第二种方式:添加至项目
项目引入:
1.选好图标添加至项目
2.选择要添加的项目(如果没有项目点击右上角新建项目),点击确定
3.下载至本地
4.解压文件,把文件放到代码中
5.正常使用
添加新的图标
1.把新的图标选好之后,点击添加项目,选择你要添加的项目
2.下载至本地
3.解压文件,把文件放到代码中(此时下载的这个文件包括上次选的图标,也包括这次选的新的图标)
4.正常使用
添加新的图标下载文件后,把原来的文件替换掉,再把iconfont.css和iconfont.js文件链接替换一下即可
与下载代码的区别:
下载代码:
如果添加新的图标,需要再新下载一个文件,且这个文件的图标与上个文件的图标不能在一个文件中,是两个独立的文件
项目引入:
如果添加新的图标,可以把这些图标添加到已有的项目文件,这样原来的图标和这次新添加的图标就可以在新的一个文件里了
二、文本溢出处理显示省略号
1、单行文本溢出显示省略号
方法1:省略号
单行文本:
width:200px;设置盒子的宽度(限制宽度)
white-space:nowrap;设置文本不换行
overflow:hidden;溢出隐藏
text-overflow:ellipsis;文本溢出的显示省略号
<style>
.box{
width:200px;
background-color:red;
height:40px;
line-height:40px;
/* 关键代码 */
text-overflow: ellipsis; /* 溢出显示省略号 */
overflow: hidden; /* 溢出隐藏 */
white-space: nowrap; /* 强制不换行 */
}
</style>
<body>
<div class="box">MONTBLANC万宝龙 男士经典系列椭圆形针扣皮带/腰带 38157</div>
</body>
方法2:伪元素
<style>
.box {
width: 200px;
height: 40px;
line-height: 40px;
background-color: orchid;
overflow: hidden;/* 溢出隐藏 */
white-space: nowrap;/* 强制不换行 */
position: relative;/* 子绝父相 */
}
.box:after {
content: "...";
position: absolute;
right: 0px;
bottom: 0px;
/* 设置宽度可以微调省略号的盒子大小,盖住多余的文字 */
width: 20px;
background-color: red;
}
</style>
</head>
<body>
<div class="box">
可以沉迷,可以抱怨,可以奔溃,可以抱怨,可以奔溃,人要有自愈能力
</div>
</body>
2、多行文本溢出显示省略号
方法1:伪元素
<style>
.box {
width: 200px;
/* 通过行高和高度控制显示的行数 */
height: 120px;
line-height: 30px;
background-color: red;
position: relative;
/* 文本两端对齐方式 */
text-align: justify;
/* 溢出隐藏 */
overflow: hidden;
}
.box:after {
content: "...";
position: absolute;
right: 0;
bottom: 0;
background-color: red;
/* 设置宽度可以微调省略号的盒子大小,盖住多余的文字 */
width: 20px;
background-color: red;
}
</style>
<body>
<div class="box">MONTBLANC万宝龙 男士经典系列椭圆形针扣皮带/腰男士经典系列椭圆形针扣皮带男士经典系列椭圆形针扣皮带男士经典系列椭圆形针扣皮带带 38157</div>
</body>
说明:
- 可能文字未超出行的情况下也会出现省略号
- 将height设置为line-height的整数倍,防止超出的文字露出(通过行高和高度控制显示的行数 )。
- 给:after添加背景可避免文字只显示一半。
方法2:弹性盒
width:200px;设置盒子的宽度(限制宽度)
display:-webkit-box;将对象作为弹性伸缩盒子模型显示
-webkit-line-clamp:2;用来限制在一个快元素显示的文本行数
-webkit-box-orient:vertical;设置盒子子元素的排列方式
overflow:hidden;溢出隐藏
<style>
.box2 {
width: 200px;
line-height: 30px;
background-color: pink;
/* 旧版弹性盒 */
display: -webkit-box;
/* 弹性盒子元素垂直排列 */
-webkit-box-orient: vertical;
/* 控制要显示的行数 */
-webkit-line-clamp: 4;
/* 溢出隐藏 */
overflow: hidden;
}
</style>
<body>
<div class="box2">
可以沉迷,可以抱怨,可以奔溃,,可以抱怨,可以奔溃,人要有自愈能力可以沉迷,可以抱怨,可以奔溃,,可以抱怨,可以奔溃,人要有自愈能力
</div>
</body>