一款纯css3实现的鼠标经过按钮特效教程

一款纯css3实现的鼠标经过按钮特效教程是一种通过CSS3动画效果来实现的按钮特效,这种效果多用于网站或APP的用户交互设计上。下面是详细攻略:

步骤一: 准备HTML结构

首先需要准备好HTML结构,按照网站的设计规范,创建一个按钮容器,命名为button。

<div class="button">BUTTON</div>

步骤二: 确定按钮的基本样式

在CSS中定义按钮的基本样式,并设置按钮的基本属性。这里我们可以先设置按钮的宽高、背景颜色、字体颜色、内边距等。这些属性可以自行根据需求设置。

.button {
  width: 150px;
  height: 50px;
  background-color: #ff5555; 
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  line-height: 50px;
  text-align: center;
  border-radius: 5px; 
  box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.2);
  transition: all .3s ease-in-out; 
}

步骤三:添加鼠标经过的样式

为了添加鼠标经过的效果,我们需要利用CSS3动画效果来完成。这里我们利用hover伪类选择器,设置鼠标经过时的背景颜色和字体颜色等,完成按钮的hover动画效果。

.button:hover {
  background-color: #fff;
  color: #ff5555;
  border: 1px solid #ff5555;
  transition: all .3s ease-in-out;
}

步骤四:添加按钮的凹凸效果

添加凹凸效果时,我们首先要给按钮容器添加伪元素before和after,并为它们设置宽度、高度等基本属性。

.button::before,
.button::after {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  z-index: -1;
}

然后,我们需要设置before和after的背景颜色,这里我们可以利用rgba设置半透明色,并设置按钮颜色作为渐变色的开始和结束颜色。

.button::before {
  background: linear-gradient(45deg, rgba(255, 255, 255, 0.5), rgba(0, 0, 0, 0.05));
  transition: opacity .3s, transform .3s;
  transform: translate3d(-7px, -7px, 0);
}

.button::after {
  background: linear-gradient(45deg, rgba(0, 0, 0, 0.05), rgba(255, 255, 255, 0.5));
  transition: opacity .3s, transform .3s;
  transform: translate3d(7px, 7px, 0);
}

接着,我们在:hover状态下,将前后两个伪元素的opacity设置为1,同时利用transform属性,实现凹凸的特效。

.button:hover::before,
.button:hover::after {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

示例说明

示例一:更改按钮颜色和边框颜色

此时,鼠标经过按钮时,按钮背景颜色、字体颜色和边框颜色都会改变。同时,按钮也会产生凹凸效果。

.button:hover {
  background-color: pink;
  color: #fff;
  border: 4px dashed #fff;
  transition: all .3s ease-in-out;
}


.button:hover::before {
  background: linear-gradient(45deg, rgba(255, 255, 255, 0.5), rgba(221, 19, 199, 0.6));
  transition: opacity .3s, transform .3s;
  transform: translate3d(-7px, -7px, 0);
}

.button:hover::after {
  background: linear-gradient(45deg, rgba(221, 19, 199, 0.6), rgba(255, 255, 255, 0.5));
  transition: opacity .3s, transform .3s;
  transform: translate3d(7px, 7px, 0);
}

示例二:更改按钮大小和凹凸变形程度

在这个示例中,鼠标经过按钮时,按钮的大小和凹凸特效的变形程度都会改变。

.button:hover {
  background-color: pink;
  color: #fff;
  border: 4px dashed #fff;
  transition: all .3s ease-in-out;
  width: 200px; 
  height: 70px; 
}


.button:hover::before {
  background: linear-gradient(45deg, rgba(255, 255, 255, 0.5), rgba(221, 19, 199, 0.6));
  transition: opacity .3s, transform .3s;
  transform: translate3d(-10px, -10px, 0) rotate(10deg);
}

.button:hover::after {
  background: linear-gradient(45deg, rgba(221, 19, 199, 0.6), rgba(255, 255, 255, 0.5));
  transition: opacity .3s, transform .3s;
  transform: translate3d(10px, 10px, 0) rotate(10deg);
}

通过这些示例可以清晰地看到,通过更改按钮的大小、凹凸变形程度和颜色等等,我们能够创建出各种各样的炫酷按钮特效。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:一款纯css3实现的鼠标经过按钮特效教程 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • Webpack如何引入bootstrap的方法

    下面是Webpack如何引入bootstrap的方法的完整攻略。 步骤一:安装Bootstrap 在引入Bootstrap前,我们首先需要将它安装到我们的开发环境中。可以使用npm进行安装,在项目根目录下执行以下命令: npm install bootstrap –save-dev 这条命令会将Bootstrap安装到我们的项目根目录下的node_modu…

    css 2023年6月10日
    00
  • 浅谈Selenium+Webdriver 常用的元素定位方式

    下面就为大家详细讲解“浅谈Selenium+Webdriver 常用的元素定位方式”的完整攻略。 1. 概述 Selenium+Webdriver 是一种常用的Web自动化测试工具,元素定位是其重要的功能之一。本文将介绍常见的元素定位方式,以帮助web测试人员更加熟练、准确地开展工作。 2. 元素定位方式 在使用 Selenium + Webdriver 进…

    css 2023年6月10日
    00
  • JavaFX实现UI美观效果代码实例

    针对“JavaFX实现UI美观效果代码实例”的完整攻略,我准备了以下内容: 1. 环境准备 在开始使用JavaFX实现UI美观效果之前,需要先安装好JavaFX开发环境,确保电脑上已经安装了JavaFX SDK和Java SDK,并且已经配置好了JavaFX和Java的环境变量。如果还没有安装和配置,可以参考JavaFX官方文档中的[安装和配置](https…

    css 2023年6月10日
    00
  • 浅析BootStrap栅格系统

    浅析Bootstrap栅格系统 什么是栅格系统? 栅格系统是一种网页布局方式,它将整个页面分成了若干等分,然后将内容放到这些等分中。这种布局方式具有响应式的特点,能够在不同的设备上保持页面的整体布局不变。 Bootstrap栅格系统 Bootstrap栅格系统是一种响应式的网页布局框架,它可以让开发者轻松地创建出美观、适配各种设备的网页。在Bootstrap…

    css 2023年6月11日
    00
  • vue3过渡动画的详解

    Vue3过渡动画的详解 在 Vue3 中,过渡动画的实现更加简单易用,本文将从以下几个方面介绍Vue3的过渡动画: 过渡类名 过渡模式 自定义过渡函数 示例程序 过渡类名 在 Vue3 中,过渡类名的命名规则和 Vue2 一样。当元素被插入、更新或删除时,你可以在元素上添加不同的 class 名称来指定不同的状态。 Vue3 中的过渡类名和 Vue2 中的类…

    css 2023年6月10日
    00
  • 基于jQuery制作小图标上下滑动特效

    下面是详细的攻略: 1.准备工作 首先,需要确保引入了jQuery库,并且在标签中放置以下代码: <script type="text/javascript"> $(document).ready(function(){ }); </script> 接着,在html中插入一个列表,并且用class来添加样式: &l…

    css 2023年6月11日
    00
  • 详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)

    Markdown 格式是一种轻量级的标记语言,用起来可以快速简洁地写出漂亮的排版。不过它并不是专门为 web 设计而设计的,而我们在编写网站的时候,所需要的样式效果却远不止于此。其中一条常用的样式效果就是overflow:hidden,下面我将会介绍这个样式效果的作用以及用法。 什么是 overflow:hidden? overflow:hidden是一种 …

    css 2023年6月9日
    00
  • div+css与xhtml+css分别是什么意思?

    div+CSS 和 XHTML+CSS 都是 Web 前端开发中常用的技术,用于实现网页的布局和样式。下面将详细讲解这两种技术的含义和使用方法。 1. div+CSS 是什么意思? div+CSS 是一种基于 div 元素和 CSS 样式的网页布局技术。div 元素是 HTML 中的一个块级元素,可以用于划分网页的不同区域,然后使用 CSS 样式来控制这些区…

    css 2023年5月18日
    00
合作推广
合作推广
分享本页
返回顶部