CSS 精灵图 + 字体图标

高级技巧


1·精灵图

1.基于设计稿明确盒子大小(宽 和 高)
2.使用像素大厨等工具测量图片偏移坐标;
3.布局时给盒子指定:width、height 和 background 属性:

width: 60px;
height: 60px;
background: url(./images/sprites.png) no-repeat -px -px;

2·字体图标

网站

  • icomoon字库https://icomoon.io/(opens new window)
  • iconfont 阿里字库 https://www.iconfont.cn/

第一步:到网站下载字体图标,把下载包里面的 fonts 文件夹放入页面根目录下

第二步:字体图标引入,一定要注意字体文件路径问题

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
      /* 第一步创建字体 */
      @font-face {
        font-family: "icomoon";
        src: url("fonts/icomoon.eot?p4ssmb");
        src: url("fonts/icomoon.eot?p4ssmb#iefix") format("embedded-opentype"),
          url("fonts/icomoon.ttf?p4ssmb") format("truetype"),
          url("fonts/icomoon.woff?p4ssmb") format("woff"),
          url("fonts/icomoon.svg?p4ssmb#icomoon") format("svg");
        font-weight: normal;
        font-style: normal;
        font-display: block;
      }
      /* 第三步声明字体*/
      i {
        /*font-family: "icomoon"一定要写 */
        font-family: "icomoon";
        color: red;
        font-size: 40px;
      }
    </style>
  </head>
  <body>
    <!-- 第二步准备一个标签-->
    <i></i>   or    <i>'\eqie'</i>
  </body>
</html>

3·css三角形

  • 三角形的形成就是由宽高为0的盒子的颜色边框和transparent透明边框的粗细相互构成,本质是个长方形.
  • 设置行高和字体,以保证兼容性:line-height: 0; font-size: 0;

4·鼠标样式

cursor: default; 默认样式
cursor: pointer; 小手
cursor: move; 移动
cursor: text; 文本
cursor: not-allowed; 禁止
cursor: zoom-in; 放大(后期搭配js使用)
cursor: zoom-out; 缩小(后期搭配js使用)

5·表单轮廓

input { outline: none; } 给表单添加,可去掉默认的蓝色边框.


6·禁止表单域拖拽

textarea{ resize: none; }


7·图片文字对齐

vertical-align 属性
vertical-align: top | middle | baseline | bottom
vertical-align :   顶部 |   中部  |     基线     |   底部

图片底部空白解决方案

  1. 给图片添加vertical-align: top | middle | bottom也可以解决行内,行内块元素底部缝隙
  2. 把图片转换为块级元素 display: block;

8·溢出文字显示省略号

单行文字溢出

/* 1. 强制在一行显示文本,默认 normal 会自动换行 */
white-space: nowrap;

/*2 . 超出的部分隐藏 */
overflow: hidden;

/* 3. 文字用省略号替代超出的部分 */
text-overflow: ellipsis;

多行文字溢出

/* 1. 超出的部分隐藏 */
overflow: hidden;

/* 2. 文字用省略号替代超出的部分 */
text-overflow: ellipsis;

/* 3. 弹性伸缩盒子模型显示 */
display: -webkit-box;

/* 4. 限制在一个块元素显示的文本的行数 */
-webkit-line-clamp: 2;

/* 5. 设置或检索伸缩盒对象的子元素的排列方式 */
-webkit-box-orient: vertical;

多行文字溢出有兼容性问题,在实际工作中一般推荐后端完成,后端可以限制字数


9·margin负值解决盒子边框

float: left; margin-left: -1px;

鼠标放在盒子上显示边框

  1. 盒子没有定位
ul li:hover {
  position: relative;
  border: 1px solid color;
}
  1. 盒子有定位
ul li:hover {
  z-index: 1;
  border: 1px solid color;
}
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值