首页 > 其他分享 >动态按钮Demo

动态按钮Demo

时间:2024-11-08 14:18:42浏览次数:3  
标签:btn color Demo 样式 HTML 按钮 动态 CSS

概要

在网页中,动态按钮不仅能够提升用户体验,还能增强界面的互动性。

本文将教会你如何利用前端技术实现动态按钮,以及它们在提升网站交互性方面的重要性。

如下效果图:
动态按钮

整体架构流程

动态按钮的实现涉及到HTML、CSS和JavaScript的协同工作。
HTML负责结构的搭建,CSS负责样式的美化,而JavaScript则负责添加交互性。

  1. HTML:使用<button>标签或<input type="button">来创建按钮的基本结构。
  2. CSS:通过CSS类来控制按钮的样式,包括颜色、形状、阴影等视觉效果。
  3. JavaScript:利用事件监听器来捕捉用户的点击事件,并在事件发生时动态改变按钮的样式或状态。

本篇文章只通过HTML和CSS实现页面效果

小案例

先从一个简单的小案例开始,理解基本的使用方法

HTML结构

<!-- 按钮 -->
<button id="btn">按钮</button>

CSS样式

/* 按钮的样式 */
#btn {
   padding: 10px 20px;
   background-color: blue;
   color: white;
   border: none;
   border-radius: 5px;
   cursor: pointer;
   transition: background-color 0.3s;
   }

/* 鼠标悬停时的样式 */
#btn:hover {
    background-color: darkblue;
   }

JavaScript交互

// 监听按钮的点击事件
    document.getElementById("btn").addEventListener("click", function () {
        alert("按钮被点击了!"); // 弹出提示框
        this.style.backgroundColor = "green"; // 改变按钮颜色
    });

案例效果图

在这里插入图片描述

最终案例

HTML结构

<!-- 动态按钮 -->
<div class="btn">
   <strong class="text">辅助机器人</strong>
   <div class="bg"></div>
</div>

CSS样式

/* 按钮的样式 */
body {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 100px;
}
/* 按钮样式 */
.btn {
    width: 175px;
    height: 60px;
    border: 2px solid #00a985;
    text-align: center;
    line-height: 60px;
    border-radius: 40px;
    color: #00a985;
    font-weight: bold;
    overflow: hidden;
}
.btn:hover {
    cursor: pointer;
}
.btn:hover .bg {
    transform: translateX(179px);
}
.btn:hover .text {
    color: white;
}

/* 动态背景样式 */
.btn .bg {
    width: 180px;
    height: 60px;
    background-color: #00a985;
    position: relative;
    bottom: 60px;
    right: 180px;
    transform: translateX(0px);
    transition: all 1s;
}
/* 文本样式 */
.text {
    color: #00a985;
    position: relative;
    right: 0px;
    z-index: 999;
    transition: all 1s;
}

JavaScript交互

// 监听按钮的点击事件
    var btn = document.querySelector(".btn");
    btn.onclick = function () {
        alert("按钮被点击了!");
    }

案例效果图

在这里插入图片描述
当用户将鼠标悬停在按钮上时,背景色会从按钮的右侧移动到覆盖整个按钮,同时按钮文本颜色从绿色变为白色,增强了用户的交互体验。

小结

通过结合HTML、CSS和JavaScript,我们可以创建出既美观又具有交互性的动态按钮。
按钮不仅能够响应用户的点击,还能在视觉上给予即时反馈,从而提供更丰富的用户体验。
动态按钮的应用不仅限于简单的点击事件,还可以扩展到表单提交、状态更新等多种场景,是前端开发中提升网站互动性的重要工具。


#动态按钮案例 #前端开发 #点赞关注

标签:btn,color,Demo,样式,HTML,按钮,动态,CSS
From: https://blog.csdn.net/weixin_50985468/article/details/143621568

相关文章

  • 代码随想录算法训练营第三十九天|Day39 动态规划
    198.打家劫舍视频讲解:https://www.bilibili.com/video/BV1Te411N7SXhttps://programmercarl.com/0198.%E6%89%93%E5%AE%B6%E5%8A%AB%E8%88%8D.html思路#definemax(a,b)((a)>(b)?(a):(b))introb(int*nums,intnumsSize){if(numsSize==0){re......
  • 代码随想录算法训练营第四十天|Day40 动态规划
    121.买卖股票的最佳时机视频讲解:https://www.bilibili.com/video/BV1Xe4y1u77qhttps://programmercarl.com/0121.%E4%B9%B0%E5%8D%96%E8%82%A1%E7%A5%A8%E7%9A%84%E6%9C%80%E4%BD%B3%E6%97%B6%E6%9C%BA.html思路#definemax(a,b)((a)>(b)?(a):(b))#definemin......
  • 利用FreeSql.Generator自动根据数据库表动态生成实体类
    安装dotnettoolinstall-gFreeSql.Generator示例FreeSql.Generator-Razor1-NameOptions0,0,0,1-NameSpaceLinCms.Core.Entities-DB"MySql,DataSource=127.0.0.1;Port=3306;UserID=root;Password=123456;InitialCatalog=lincms;Charset=utf8;SslMode=none;M......
  • (算法)零钱兑换II————<动态规划>
    1.题⽬链接:518.零钱兑换II2.题⽬描述: 3.解法(动态规划):算法思路:先将问题「转化」成我们熟悉的题型。i.在⼀些物品中「挑选」⼀些出来,然后在满⾜某个「限定条件」下,解决⼀些问题,⼤概率是背包模型;ii.由于每⼀个物品都是⽆限多个的,因此是⼀个「完全背包」问题。接......
  • (算法)零钱兑换————<动态规划>
    1.题⽬链接:322.零钱兑换2.题⽬描述:3.解法(动态规划):算法思路:先将问题「转化」成我们熟悉的题型。i.在⼀些物品中「挑选」⼀些出来,然后在满⾜某个「限定条件」下,解决⼀些问题,⼤概率是「背包」模型;ii.由于每⼀个物品都是⽆限多个的,因此是⼀个「完全背包」问题。接......
  • 带你用HTML+CSS+JS实现动态滚动骰子投掷效果!
    今天带大家用HTML+CSS+JS实现动态骰子投掷效果,下面来看看实现的效果:点击开始投掷,骰子开始滚动。点击停止投掷,骰子面会随机定在一个点数 那么如何实现呢?请听我细细讲解:一、骰子面的样式与布局1、样式:1、其中每一面大量的运用了flex布局来实现了骰面上圆点的位置。2......
  • MyBatis Plus之注解实现动态SQL
     参考下面的sql语句即可实现@Select("<script>"+"selectgp.TEWRTYR,gp.FJFNM,gs.CVNNN,u.VCNBMBNV,gp.RAEER,gr.BVNCCVN\n"+"fromUPPBHTu\n"+"leftjoinGP_testgp\n"+......
  • 【算法】动态规划
    一、算法概念动态规划算法是一种解决多阶段决策问题的方法。它将一个问题分解为多个子问题,并逐个求解子问题的最优解,最后得到原问题的最优解。二、基本思想动态规划算法的核心思想是通过存储中间结果来避免重复计算。在解决问题的过程中,会利用已经求解过的子问题的最优解......
  • Java入门14——动态绑定(含多态)
    大家好,我们今天来学动态绑定和多态,话不多说,开始正题~但是要学动态绑定之前,我们要学习一下向上转型,方便后续更好地理解~一、向上转型1.什么是向上转型网上概念有很多,但其实通俗来讲,向上转型就是把一个子类转换成父类2.代码演示+讲解这次我们依然以动物为例做演示~首先我......
  • CODESYS可视化桌面屏保-动态气泡制作详细案例
    #一个用于可视化(HMI)界面的动态屏保的详细制作案例程序#前言:在工控自动化设备上,为了防止由于人为误触发或操作引起的故障,通常在触摸屏(HMI)增加屏幕保护界面,然而随着PLC偏IT化的发展,在控制界面上的美观程度也逐渐向上位机或网页前端方面发展,本篇模仿Windows系统的屏幕保护背......