一款纯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日

相关文章

  • 解决使用Vue.js显示数据的时,页面闪现原始代码的问题

    使用Vue.js显示数据的时候,如果不慎掉入特定的“坑”,可能会遇到页面加载时短暂显示原始代码的问题,这是因为Vue.js渲染的速度较慢,需要进行一定的优化处理。下面是解决此问题的完整攻略。 1. 优化Vue.js的编译和运行 在Vue.js中,我们可以使用v-cloak指令来避免页面加载时的闪现问题。v-cloak的作用是在Vue实例的DOM元素标签上添加…

    css 2023年6月9日
    00
  • 让示例代码在手机上换行显示以避免恼人的滚动条

    让示例代码在手机上换行显示以避免恼人的滚动条是网站优化与美化中一个较为普遍的需求,我们可以采取以下方法来实现: 方法一:使用“pre”标签 在HTML中,我们可以使用“pre”标签来定义格式化文本,这里的“pre”指的是preformatted(预格式化)。使用“pre”标签的代码块会保留原有的空格、换行符等元素,而不会将它们作为网页渲染的内容处理。代码示例…

    css 2023年6月10日
    00
  • 基于jQuery选择器的整理集合

    以下是关于“基于jQuery选择器的整理集合”的完整攻略: 一、什么是jQuery选择器? jQuery选择器是一种基于CSS选择器的语法,可以用于选择HTML文档中的元素,并进行相应的操作。通过使用jQuery选择器,我们可以方便地找到我们需要的DOM元素,进行样式的修改、内容的插入、事件的绑定等。 二、常见的jQuery选择器 jQuery选择器可以根据…

    css 2023年6月10日
    00
  • 关于HTML的语义化标签和无语义化标签

    HTML语义化标签和无语义化标签是Web开发中常用的两种标签类型,它们的使用对于构建可读性高、易维护、SEO友好和语义化的结构化文档非常重要。下面将详细解释它们的区别和用法。 HTML语义化标签 HTML语义化标签是指按照文档内容所表达的语义含义来编写HTML标签,它们不仅仅可以提升页面的可读性和可访问性,还可以提高搜索引擎的抓取效率和页面的排名。HTML5…

    css 2023年6月10日
    00
  • 活动专题页信息表达法则–瞬间致胜的方法

    活动专题页信息表达法则–瞬间致胜的方法 活动专题页信息表达是网站运营中非常重要的一个环节,它直接影响着用户对活动的认知和参与度。以下是一些瞬间致胜的方法,帮助你更好的表达活动信息,吸引用户的眼球。 1. 突出活动主题 在专题页的设计中,要注意突出活动的主题,让用户第一眼就能看到活动名称和主题。可以运用大字体、加粗、吸引人眼球的色彩等方式突出主题,让用户能够…

    css 2023年6月10日
    00
  • css代码缩写 div+css布局代码简写规范

    下面是“css代码缩写 div+css布局代码简写规范”的完整攻略。 概述 在实际开发中,我们会经常使用CSS来控制网页的布局,而且CSS代码量较大,代码复杂度也比较高,因此为了提高效率和简化代码,我们可以采用CSS代码缩写和div+CSS布局代码简写规范,这样可以大大地减少代码量,降低开发成本。 CSS代码缩写 属性值缩写 CSS属性值缩写是指,将多个属性…

    css 2023年6月10日
    00
  • jquery 图片Silhouette Fadeins渐显效果

    针对“jQuery图片Silhouette Fadeins渐显效果”的实现过程,可以按照以下步骤进行: 步骤1:下载jQuery插件 首先需要下载并引入jQuery插件,可以访问以下链接下载: https://code.jquery.com/jquery-3.2.1.min.js 然后将下载好的jQuery插件文件引入到网站页面中。 示例代码: <he…

    css 2023年6月10日
    00
  • css旋转导航的示例代码

    下面是详细讲解 “CSS旋转导航”的完整攻略。 1. 概述 CSS旋转导航是一种比较常见的网站导航样式,可以将网站导航菜单以立体的效果展现出来,增强网站的视觉效果,同时提升用户体验。 2. 实现方法 2.1 通过 transform 进行旋转 首先,我们需要了解 transform 属性,该属性可以通过 rotate 旋转、translate 平移、scal…

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