01-移动web第01天 字体图标、平面、渐变

128 阅读5分钟

01-移动web第一天

主要学习内容:字体图标、平面转换、渐变

一、字体图标

通常是通用小图标,或是知名公司小图标 logo等

目标:使用字体图标技巧实现网页中简洁的图标效果

  • 本质上是字体,通过某种方式,显示出图标

    • 常用span i em标签包裹,i 和 em标签包裹时,一般会先去掉斜体

      • 标签里只放图标,不要夹杂
    • 下载图标时的文件夹里:引入的样式表里 iconfont.css 是用伪元素自造新字体(默认微软雅黑) demo.css样式表里 @font-face {} 是造字图标过程 demo_index.html 小图标事例【打开选择自己想要的图标】

    • 注意权重

与精灵图的比较

  • 兼容性好 矢量图,不失真 可以改颜色 font的属性都可以用
  • iconfont 阿里巴巴矢量图库

国外:icomoon

iconfont 阿里巴巴矢量图库  选择方式
- 3种选择方式
​
    - 1、下载素材---UI设计师
    - 2、下载代码---本地引入【需要下载到本地电脑,解压,若更新新的图标时,不方便】
​
        - 书写方式
​
            - 第1种:Unicode编码    不推荐
            - 第2种:引入字体图标样式表  Font class   推荐
            使用步骤如下:
①下载自己想要的图标文件夹,放到html同级目录里
②复制  <link rel="stylesheet" href="./iconfont.css">    注意更改路径
​
           -第3种:Symbol 引用  【多色图标,兼容性差】
步骤:①在body里,引入  <script src="./iconfont/iconfont.js"></script>  注意更改路径
    ②在head里,直接复制粘贴
    ③在body里,更改想要的图标名 
    
      - 3、添加至项目---推荐【链接方式,方便在线更新新的图标,只需替换原来的链接路径】
​
        - 书写方式
​
            - ① Font class
            - ②link 引入链接  注意路径  https:

image.png

留意:

①为避免不停追加图标,拿到项目后,从头到尾看一遍,争取一次性引入。 ②开发过程中,一般用在线链接,当整个流程已写完,测试过程中,可以转为本地 ③当阿里图库没有自己想要的图标时,ui设计师自己上传,svg文件

二、平面转换 transform

    2D\2维效果

行内元素添加transform属性没有任何效果,只有行内块与块级可行

一定要注意层叠性(连写)

位移

  • transform:translate(x轴移动距离,y轴移动距离) 从左到右,从上到下 正向右移 正向下移 负向左移 负向上移 只给出一个值只表示x轴移动距离
  • ①参考原来的位置移动,当下面有盒子时,往下移会盖住下面的盒子 ②不脱离标准流,还占着原来的位置,不会影响其它元素的结构布局
  • 单位:①px ②百分比,参照自己的宽高度百分比移动距离

故与水平垂直搭配 定位:子绝父相 top:50%; lelt:50%; 参照父级元素的宽度移动距离 margin-top:-自身宽度的一半px;margin-left:-自身高度的一半px; 参照自身元素的宽度移动距离【需要提前知道本身的宽高度】 【margin-top:-50%;margin-left:-50%; 也是参照父级元素的宽度移动距离】 外边距:兼容性好

当不知道父级元素和自身元素的宽高时, 采用步骤如下: ①子绝父相 ②top:50%; lelt:50%; ② transform:translate(-50%,-50%)

旋转

  • transform:rotate(角度)---用deg代表单位度 正 顺 负 逆
  • 默认是盒子的中心位置旋转 center center

可以用 transform-origin:原点水平位置 原点垂直位置 方式:①方位名词(left、top、right、bottom、center) 如果只写一个值,另一个值默认为center ②像素单位数值 px ③百分比(参照盒子自身尺寸计算)

- transform-origin属性改变转换原点   而不是旋转原点
  • 常与hover搭配, transform: rotate(); 一般写在hover里 transform-origin: left top; 改变转换原点一般写在原元素里
  • ①注意添加旋转的时候会更改坐标轴线的方向 有0deg:初始位置 ②如果同时有旋转和位移的话,建议先写位移属性 ③注意连写顺序 transform: translate(600px) rotate(360deg)

缩放

  • transform: scale(x轴缩放倍数, y轴缩放倍数)

0~1 缩小

1 放大 聚焦的效果 负数 缩小 倒放 没有单位 一个数时,同时代表x与y轴

  • 默认围绕着盒子中心位置进行缩放 center center 可以用 transform-origin:原点水平位置 原点垂直位置

三、渐变

1. 背景渐变的本质是背景图片【从一个颜色慢慢渐变成另一个颜色】

2.background-image: linear-gradient(方向, 颜色, 颜色 ) gradient 梯度 3.渐变方向:默认:从上到下 ①方位名词: to right 从左到右 to left 从右到左 to left top 从右下到左上 ②角度 0deg 从下到上

四、拓展

1、斜切 常用于擦亮效果

transform: skewX(30deg); 或 transform: skewY(30deg);

一般情况下:transform: skew(30deg); 默认为x轴 正 \ \ 父 / /

2、擦亮

3、属性选择器 [ ]

权重 10 常用于字体图标应用,去掉公共类名

  • 不看标签,只看属性名

五、解题思路

①平面转变连写顺序(层叠性)

②属性书写位置 ③过渡 ④透明度 ⑤悬停时的选择器结构书写

静态呈现:

1、先分析静态页面【是否可以点击】 2、图片是否经常更换 3、文字所在容器是否压住 定位 层级z-index 4、遮罩层 是否背景渐变

悬停效果: 点击哪个盒子{一般是大盒子} ①图片是否缩放 ②文字盒子平移 ③遮罩层 初始 透明0 悬停1 淡入淡出效果