一、Icon 全解
本文是对 icon 的各种用法的简单介绍,icon下载比较好用的平台
链接 — iconfont-阿里巴巴矢量图标库
1.切图
- 要求:需要对ps软件有基础的了解,能操作.psd等格式文件,图层,画布裁剪等。
- 原理:将icon转化为图片格式,直接在代码中使用
img标签引入。 - 优点:由于是图片的原因,可以自适应宽高,图片会默认保持比例 。
2. 背景图法
- 原理:使用 css 的 background
.icon{
background:red url(./路径);
background-imag:url(./路径);
}
- 优点:图片大小不会因为 div 变化而变形 ,但是不推荐使用。
3. 雪碧图
- 原理:利用css 将一张图片不需要显示的部分隐藏起来,用到了 background-position
CSS 属性为每一个背景图片设置初始位置。
这个位置是相对于由 background-origin 定义的位置图层的。
- 用法:可以使用在线工具生成代码。
- 缺点:这种方法比较古老。
4. font 方法 / Css方法
- 原理 : ****HTML entity 例如  是空格 “[链接] Entity - 术语表 | MDN ”
- 用法:使用iconfont 中的代码将图片声明成字体,然后再HTML中使用。或者使用伪类
- 缺点:老版本 IE 不支持。
<div class="xxx" style="font-family:iconfont;">
æl4
</div>
<style>
@font-face{声明相关...}
.xxx::before{
content:'\e6l4'
//注意此处的斜杠,这是css的写法和HTML的写法不同
}
</style>
5. svg 形式
- 原理:利用 js 代码的形式,iconfont 提供的 symbol方式引用
- 链接: iconfont-阿里巴巴矢量图标库
二、移动端页面要兼容pc
1. 媒体查询 media query
- 定义 :CSS 媒体查询为你提供了一种应用 CSS 的方法,仅在浏览器和设备的环境与你指定的规则相匹配的时候 CSS 才会真的被应用,媒体查询是 响应式 Web 设计的关键部分,因为它允许你按照视口的尺寸创建不同的布局。
- MDN : developer.mozilla.org/zh-CN/docs/…
@media screen and (width: 600px) {
body {
color: red;
}
/*屏幕宽度在600像素时候,执行这个css属性*/
}
2. viewport
- 作用:阻止移动端页面缩放
<meta name="viewport" content="initial-scale=0.5,
maximum-scale=0.5, minimum-scale=0.5, user-scalable=no">
3. 移动端特点
- 没有 hover :悬浮
- 有 touch 事件 :触摸
- 没有 resize:
- 没有滚动条
三、手机“专用”的自适应方案
1. Rem
- 定义:长度单位的一种,全称 root em
表示根元素的 font-size 1rem 为 16px。
- 其他: px 像素
em 作为font-size的单位时,其代表父元素的字体大小,
em作为其他属性单位时,代表自身字体大小
vh viewport height 视口高度
vw 视口宽度
- 默认: 网页 font-size 为 16px
2. 动态rem
- Api : window.innerWidth 返回以像素为单位的窗口内部宽度,
如果垂直滚动条存在,这个属性会包括滚动条的宽度
- 原理:利用 js 使 1rem 等于 页面宽度,那么当宽度变化时,rem也会随之动态变化
为了方便美观,可以设置为1rem 等于屏幕宽度的十分之一
- 原则: HTML 的 font-size 不能小于 12 px
当屏幕特别小的时候,可以使用 px 和 rem 混用
<script>
let pagWidth = window.innerWidth;
document.write(`
<style>
html{font-size:'+ pageWidth/10 +'px;}
</style>`)
</script>