• 按钮变换及通用方式(雪碧图使用)


    目录

    一、流程

    二、不完美方式

    1、做法

    2、解释

    三、雪碧图方式

    1、实现

    2、解释

    四、代码

    1、不完美方式

    2、雪碧图方式


    一、流程

    (1)正常情况下是普通按钮

    (2)当鼠标移入时,则会变色

    (3)当鼠标点击时,则会变黑

    (4)以背景图方式设置按钮点击,达到上述效果

    二、不完美方式

    1、做法

    (1)找到三张对应效果的图片

    (2)分别对原元素、hover伪类、active伪类粘贴不同的图片

    2、解释

    (1)这种方式能解决问题,是常规思路

    (2)但是可能第一次加载网页可能会出现空白加载的问题

    -浏览器会按需加载资源或者图片

    -在最开始的时候,会发送请求解析网页,因为原元素会最先展示,所以会解析原元素的图片

    -但因为hoveractive没有使用,所以不会第一时间解析和加载后面两个伪类的图片

    三、雪碧图方式

    1、实现

    将所有状态的图片贴在一张中,通过给不同元素或者元素不同伪类设置偏移量,从而展示图片的不同位置

    如图,这就是一个雪碧图

    2、解释

    (1)这种方式是开发的主流

    (2)且因为只需要加载一张图片,加载速度快,节省资源,有更好用户体验

    四、代码

    注意:这里的图片均来自网上,想要重现可自行查找图片,或者前面的雪碧图可以直接使用

    1、不完美方式

    1. html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8" />
    5. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    6. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    7. <title>按钮变换title>
    8. <style>
    9. /*
    10. 浏览器会按需加载资源或者图片,在最开始的时候,会发送请求
    11. 解析网页,因为a会最先展示,所以会解析a的图片
    12. 但因为hover和active没有使用,所以不会第一时间解析和加载
    13. */
    14. a {
    15. width: 101px;
    16. height: 101px;
    17. display: block;
    18. background-image: url("../src/img_exercise/1.png");
    19. }
    20. a:hover {
    21. background-image: url("../src/img_exercise/2.png");
    22. }
    23. a:active {
    24. background-image: url("../src/img_exercise/3.png");
    25. }
    26. style>
    27. head>
    28. <body>
    29. <a href="javascript:;">a>
    30. body>
    31. html>

    2、雪碧图方式

    注意:这里的代码使用的图片就是前面的三个按钮在一起的图片

    1. html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8" />
    5. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    6. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    7. <title>按钮变换升级版/雪碧图初应用title>
    8. <style>
    9. a {
    10. background-image: url("../src/img_exercise/0.jpg");
    11. display: block;
    12. width: 101px;
    13. height: 101px;
    14. background-position: -104px -143px;
    15. }
    16. a:hover {
    17. background-position: -249px -143px;
    18. }
    19. a:active {
    20. background-position: -393px -143px;
    21. }
    22. style>
    23. head>
    24. <body>
    25. <a href="javascript:;">a>
    26. body>
    27. html>

     

  • 相关阅读:
    Pinia 的基本使用
    do end用法的妙处
    概率论的学习和整理7:理解期望和方差还是要回到随机试验本身,期望不是平均值,方差的公式不同情况不同
    函数栈的变化过程
    电视剧中的程序员,是真的敲代码吗?
    44 mysql batch insert 的实现
    1288v3安装win10系统卡顿
    Debezium系列之:sqlserver数据库修改表结构重新设置CDC
    华为ACL实验
    d3.js 的使用
  • 原文地址:https://blog.csdn.net/comegoing_xin_lv/article/details/126289228