分享几个精美的网页按钮样式,纯CSS实现,无JS(拿来即用)

简介: 分享几个精美的网页按钮样式,纯CSS实现,无JS(拿来即用)

点击按钮:

<html>
  <head>
    <meta charset="utf-8">
    <title></title>
    <style>
      button {
       position: relative;
       display: inline-block;
       cursor: pointer;
       outline: none;
       border: 0;
       vertical-align: middle;
       text-decoration: none;
       font-family: inherit;
       font-size: 15px;
      }
      button.learn-more {
       font-weight: 600;
       color: #382b22;
       text-transform: uppercase;
       padding: 1.25em 2em;
       background: #fff0f0;
       border: 2px solid #727bb1;
       border-radius: 0.75em;
       -webkit-transform-style: preserve-3d;
       transform-style: preserve-3d;
       -webkit-transition: background 150ms cubic-bezier(0, 0, 0.58, 1), -webkit-transform 150ms cubic-bezier(0, 0, 0.58, 1);
       transition: transform 150ms cubic-bezier(0, 0, 0.58, 1), background 150ms cubic-bezier(0, 0, 0.58, 1), -webkit-transform 150ms cubic-bezier(0, 0, 0.58, 1);
      }
      button.learn-more::before {
       position: absolute;
       content: '';
       width: 100%;
       height: 100%;
       top: 0;
       left: 0;
       right: 0;
       bottom: 0;
       background: #c6ccf9;
       border-radius: inherit;
       -webkit-box-shadow: 0 0 0 2px #727bb1, 0 0.625em 0 0 #ffe3e2;
       box-shadow: 0 0 0 2px #727bb1, 0 0.625em 0 0 #ffe3e2;
       -webkit-transform: translate3d(0, 0.75em, -1em);
       transform: translate3d(0, 0.75em, -1em);
       transition: transform 150ms cubic-bezier(0, 0, 0.58, 1), box-shadow 150ms cubic-bezier(0, 0, 0.58, 1), -webkit-transform 150ms cubic-bezier(0, 0, 0.58, 1), -webkit-box-shadow 150ms cubic-bezier(0, 0, 0.58, 1);
      }
      button.learn-more:hover {
       background: #ffe4ce;
       -webkit-transform: translate(0, 0.25em);
       transform: translate(0, 0.25em);
      }
      button.learn-more:hover::before {
       -webkit-box-shadow: 0 0 0 2px #727bb1, 0 0.5em 0 0 #ffe3e2;
       box-shadow: 0 0 0 2px #727bb1, 0 0.5em 0 0 #ffe3e2;
       -webkit-transform: translate3d(0, 0.5em, -1em);
       transform: translate3d(0, 0.5em, -1em);
      }
      button.learn-more:active {
       background: #ffe4ce;
       -webkit-transform: translate(0em, 0.75em);
       transform: translate(0em, 0.75em);
      }
      button.learn-more:active::before {
       -webkit-box-shadow: 0 0 0 2px #727bb1, 0 0 #d1cbff;
       box-shadow: 0 0 0 2px #727bb1, 0 0 #d1cbff;
       -webkit-transform: translate3d(0, 0, -1em);
       transform: translate3d(0, 0, -1em);
      }
    </style>
  </head>
  <body>
    <button class="learn-more">> w <;;;</button>
  </body>
</html>

效果:

凹陷效果:

<html>
  <head>
    <meta charset="utf-8">
    <title></title>
    <style>
      body{
        background-color: #f0f0f0;
      }
      button {
       color: #090909;
       padding: 0.7em 1.7em;
       font-size: 18px;
       border-radius: 0.5em;
       background: #e8e8e8;
       border: 1px solid #e8e8e8;
       transition: all .3s;
       box-shadow: 6px 6px 12px #c5c5c5,
                   -6px -6px 12px #ffffff;
      }
      button:active {
       color: #666;
       box-shadow: inset 4px 4px 12px #c5c5c5,
                   inset -4px -4px 12px #ffffff;
      }
    </style>
  </head>
  <body>
    <button>T____T</button>
  </body>
</html>

效果:

开关按钮:

<html>
  <head>
    <meta charset="utf-8">
    <title></title>
    <style>
      /* 开关:滑块周围的盒子 */
      .switch {
        font-size: 17px;
        position: relative;
        display: inline-block;
        width: 3.5em;
        height: 2em;
      }
      /* 隐藏默认的HTML复选框 */
      .switch input {
        opacity: 0;
        width: 0;
        height: 0;
      }
      /* 滑块 */
      .slider {
        position: absolute;
        cursor: pointer;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #B0B0B0;
        border: 1px solid #B0B0B0;
        transition: .4s;
        border-radius: 32px;
        outline: none;
      }
      .slider:before {
        position: absolute;
        content: "";
        height: 2rem;
        width: 2rem;
        border-radius: 50%;
        outline: 2px solid #B0B0B0;
        left: -1px;
        bottom: -1px;
        background-color: #fff;
        transition: transform .25s ease-in-out 0s;
      }
      .slider-icon {
        opacity: 0;
        height: 12px;
        width: 12px;
        stroke-width: 8;
        position: absolute;
        z-index: 999;
        stroke: #222222;
        right: 60%;
        top: 30%;
        transition: right ease-in-out .3s, opacity ease-in-out .15s;
      }
      input:checked + .slider {
        background-color: #222222;
      }
      input:checked + .slider .slider-icon {
        opacity: 1;
        right: 20%;
      }
      input:checked + .slider:before {
        transform: translateX(1.5em);
        outline-color: #181818;
      }
    </style>
  </head>
  <body>
    <label class="switch">
      <input type="checkbox">
      <span class="slider">
       <svg class="slider-icon" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="presentation"><path fill="none" d="m4 16.5 8 8 16-16"></path></svg> 
      </span>
    </label>
  </body>
</html>

效果:

谢谢大家观看,T________T

目录
相关文章
|
6月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
伪类:伪类这个叫法源自于它们跟类相似,但实际上并没有类会附加到标记中的标签上。 伪类分为两种(以及新增的伪类选择器): UI伪类:会在HTML元素处于某种状态时(例如:鼠标指针位于连接上),为该元素应用CSS样式。 :hover 结构化伪类:会在标记中存在某种结构上的关系时 例如: 某元素是一组元素中的第一个或最后一个,为该元素应用CSS样式。 :not和:target(CSS3新增的两个特殊的伪类选择器)
644 2
|
12月前
|
JavaScript 算法 开发者
如何用JS实现在网页上通过鼠标移动批量选择元素的效果?
本文介绍了类似电脑桌面通过鼠标选择多个图标的实现原理。主要通过监听mousedown、mousemove和mouseup事件,动态调整选择框大小并计算与元素的重叠情况。提供了角重叠和相交重叠的检测方法,并附有示例代码和在线演示链接,方便开发者参考与测试。
397 56
|
6月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
继承 我们的CSS中很多的属性也是可以继承的,其中相当一部分是跟文字的相关的,比如说颜色、字体、字号。 当然还有一部分是不能继承的。 例如边框、内外边距。 层叠 层叠是CSS的核心机制。 层叠的工作机制: 当元素的同一个样式属性有多种样式值的时候,CSS就是靠层叠机制来决定最终应用哪种样式。 层叠规则: 层叠规则一:找到应用给每个元素和属性的声明。 说明:浏览器在加载每个页面时,都会据此查找到每条CSS规则, 并标识出所有受到影响的HTML元素。
216 0
|
11月前
|
Web App开发 数据采集 JavaScript
动态网页爬取:Python如何获取JS加载的数据?
动态网页爬取:Python如何获取JS加载的数据?
1577 58
|
8月前
|
编解码 JavaScript 前端开发
如何在网页播放英文的m3u8文件(基于Javascript搭建的在线网页工具)
什么是m3u8?又该如何在网页中高效、便捷地播放英文的m3u8文件呢?今天这篇文章就带你一起了解,并推荐一种基于Javascript搭建的在线网页工具,让你轻松解决播放问题。
2282 0
|
11月前
|
数据采集 Web App开发 JavaScript
Python爬虫如何获取JavaScript动态渲染后的网页内容?
Python爬虫如何获取JavaScript动态渲染后的网页内容?
|
12月前
|
前端开发
|
Web App开发 前端开发
《网站建设与网页设计从入门到精通Dreamweaver+Flash+Photoshop+HTML+CSS+JavaScript》——3.6 实战演练——创建基本文本网页
本节书摘来自异步社区《网站建设与网页设计从入门到精通Dreamweaver+Flash+Photoshop+HTML+CSS+JavaScript》一书中的第3章,第3.6节,作者:何新起 更多章节内容可以访问云栖社区“异步社区”公众号查看。
1769 0

热门文章

最新文章

  • 1
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    421
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    331
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    316
  • 4
    (CSS)使用Flex布局,帮助你快速了解各种基本的Flex布局属性以及帮你让元素快速达到布局中的指定位置!
    207
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    426
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    609
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    792
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    216
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    644
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
    387