分享几个精美的网页按钮样式,纯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

目录
相关文章
|
2天前
|
JavaScript 前端开发
jQuery和CSS3滑动展开菜单按钮插件
这是一款jQuery和CSS3滑动展开菜单按钮插件。该滑动展开菜单按钮在用户点击主菜单按钮之后,子菜单以滑动的方式依次展开
33 21
|
5天前
|
JavaScript 前端开发
jQuery和CSS3斑马线样式range滑块特效
jQuery和CSS3斑马线样式range滑块特效
|
20天前
|
前端开发 UED 开发者
CSS Sprites和图标字体在网页图标加载优化中的应用。CSS Sprites通过合并多图标减少HTTP请求,提升加载速度
本文探讨了CSS Sprites和图标字体在网页图标加载优化中的应用。CSS Sprites通过合并多图标减少HTTP请求,提升加载速度;图标字体则以字体形式呈现图标,便于调整样式。文章分析了两者的优缺点及应用场景,并提供了应用技巧和注意事项,旨在帮助开发者提升页面性能,改善用户体验。
21 5
|
1月前
|
前端开发 JavaScript UED
|
1月前
|
前端开发
HTML 样式- CSS3
内部样式表适用于单个文件的特别样式,通过&lt;head&gt;部分的&lt;style&gt;标签定义;外部样式表适用于多个页面,通过&lt;link&gt;标签引用外部CSS文件;&lt;style&gt;定义样式,&lt;link&gt;引用资源;已弃用的标签有&lt;font&gt;、&lt;center&gt;、&lt;strike&gt;,属性有color和bgcolor。
HTML 样式- CSS2
HTML样式实例展示了如何使用`font-family`、`color`和`font-size`属性来定义字体样式,以及使用`text-align`属性来设置文本的对齐方式。示例包括标题和段落的样式设置。
|
7月前
|
前端开发 JavaScript UED
前端开发的魔法:CSS动画与JavaScript的完美结合
本文将探讨如何利用CSS动画和JavaScript的结合,为前端页面增添生动的效果。我们将通过实例展示如何使用这两种技术为网页元素创建吸引人的动画效果,并讨论它们的优缺点和适用场景。
113 0
|
Web App开发 编解码 前端开发
浏览器原理 23 # 分层和合成机制:为什么CSS动画比JavaScript高效?
浏览器原理 23 # 分层和合成机制:为什么CSS动画比JavaScript高效?
152 0
浏览器原理 23 # 分层和合成机制:为什么CSS动画比JavaScript高效?
|
Web App开发 移动开发 前端开发
梅须逊雪三分白,雪却输梅一段香——CSS动画与JavaScript动画
CSS动画并不是绝对比JavaScript动画性能更优越,开源动画库Velocity.js等就展现了强劲的性能。
梅须逊雪三分白,雪却输梅一段香——CSS动画与JavaScript动画
|
JavaScript 前端开发 UED
为什么 CSS 动画比 JavaScript 高效?
为什么 CSS 动画比 JavaScript 高效?
134 0
为什么 CSS 动画比 JavaScript 高效?