我想在html中创建一个使用CSS的切换按钮.我想要它,这样当你点击它时,它会保持被推入状态,然后当你再次点击它时,它就会弹出.

如果无法做到这一点,只需使用CSS即可.有没有办法使用jQuery做到这一点呢?

推荐答案

最好的语义方式是使用复选框,然后在选中或未选中时以不同的方式设置样式.但是没有好的办法来解决它.您必须添加额外的span、额外的div,并且为了获得真正漂亮的外观,还需要添加一些javascript.

因此,最好的解决方案是使用一个小的jQuery函数和两个背景图像来设置按钮的两种不同状态的样式.具有边框提供的向上/向下效果的示例:

$(document).ready(function() {
  $('a#button').click(function() {
    $(this).toggleClass("down");
  });
});
a {
  background: #ccc;
  cursor: pointer;
  border-top: solid 2px #eaeaea;
  border-left: solid 2px #eaeaea;
  border-bottom: solid 2px #777;
  border-right: solid 2px #777;
  padding: 5px 5px;
}

a.down {
  background: #bbb;
  border-top: solid 2px #777;
  border-left: solid 2px #777;
  border-bottom: solid 2px #eaeaea;
  border-right: solid 2px #eaeaea;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a id="button" title="button">Press Me</a>

显然,您可以添加代表按钮向上和向下的背景图像,并使背景 colored颜色 透明.

Html相关问答推荐

新用户登录时无法从cookie中获取当前用户信息

如何获得一个背景图像,不是模糊的内部容器,但模糊的外部'

禁用与行分开的边框折叠span

Angular /HTML5不会播放本地文件夹中的音频mpeg

具有可展开行的棱角material 表(垫子表),折叠时行之间仍有间隙

SVG动画只有在打开S开发工具的浏览器时才开始播放

有没有什么方法可以很容易地给一个SVG一个插框阴影?

如何用css在右侧创建多个半圆

Vutify中看不见的V行

可以';t使我的导航栏在HTML/CSS中正确对齐

HTML,CSS-阻止按钮在单击时向上移动

如何在悬停时使矩形按钮上的边框变圆

无法在 CSS 中将 h1 标签居中

Bootstrap 轮播内容在箭头之间不显示

使用图像自定义 CSS 网格边框

如何将某些 div 的高度限制为具有 display flex 行的同一父 div 中的其他 div?

防止按钮溢出到新行

需要禁用聚焦输入的工具提示(jquery)

使用 TailwindCSS 将徽标放在左上角,将菜单放在右上角

如何使用 CSS 制作蜂窝状网格?