javascript - Click 如何在没有 Jquery 或 Javascript 的情况下工作

标签 javascript jquery html css

<分区>

<input type="checkbox" id="spinner-form" />
<label for="spinner-form" class="spinner-spin">
  <div class="spinner diagonal part-1"></div>
  <div class="spinner horizontal"></div>
  <div class="spinner diagonal part-2"></div>
</label>

CSS Code →

body {margin:50px;}

* {transition:all 0.3s;-webkit-transition:all 0.3s;box-sizing:border-box;}

#spinner-form {display:none;}

.spinner-spin {position:relative;float:left;height:50px;width:50px;}
.spinner-spin {cursor:pointer;}

.spinner-spin > .spinner {height:5px;width:50px;background-color:#000;}

.spinner-spin > .spinner.diagonal.part-1 {position:relative;float:left;margin-top:10px;}
.spinner-spin > .spinner.horizontal {position:relative;float:left;margin-top:6px;}
.spinner-spin > .spinner.diagonal.part-2 {position:relative;float:left;margin-top:6px;}

#spinner-form:checked ~ .spinner-spin > .horizontal {opacity: 0;}
#spinner-form:checked ~ .spinner-spin > .diagonal.part-1 {transform:rotate(225deg);-webkit-transform:rotate(225deg);margin-top:23px;}
#spinner-form:checked ~ .spinner-spin > .diagonal.part-2 {transform:rotate(-225deg);-webkit-transform:rotate(-225deg);margin-top:-16px;}

可以在 Code Pen.io 上找到同样的内容

我的问题:→ 有伪类,例如 → a:悬停,

但这里我们没有悬停效果,只有点击效果 那么点击效果是如何通过不使用 Javascript 或 JQuery 的纯 CSS 生成的。 CSS 的哪一部分实际上导致了点击效果?就这么简单吗,我错过了什么。

ALTERNATIVE QUESTION →

是否有任何伪类在没有 JQuery 的情况下获得点击功能

最佳答案

好吧,这是一种假点击效果,通常被称为复选框 hack,但对可访问性不友好

在您共享的 codepen 演示中,菜单图标放置在一个标签内,该标签负责对复选框输入的操作,您可能已经在标记中注意到了这一点。

相关:Using text labels to associate with form controls...

在 CSS 样式中,复选框的使用方式(使用 :checked)使得它的直接邻居(即标签和/或标签内的元素)可以在检查时设置样式-打开(选中)和关闭(未选中)状态。

总而言之,它使用以下方法创建点击效果: * 标签内的触发器(菜单图标)负责附近的复选框输入以更改状态 * 然后根据复选框的状态使用 CSS 设置标签样式

您可以阅读更多相关信息 here如果你愿意的话。

关于javascript - Click 如何在没有 Jquery 或 Javascript 的情况下工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42855920/

上一篇:javascript - 当元素位于窗口顶部时添加类

下一篇:jquery - 我如何使用 jquery 更改行的颜色?根据条件

相关文章:

javascript - 如何在不使用 axios 拦截器进行整页刷新的情况下刷新 vuejs 中的 accesstoken

javascript - 在 Javascript 中确定日期相等性

javascript - Datepicker - 用户输入日期的 2 条规则

jquery - Bootstrap 3 sm vs xs - webstorm 改变断点?

javascript三元运算符计算字符串中的字符数

javascript - 将单词随机分成定义长度组的算法

ajax - FullCalendar:事件不显示加载但显示如果我打开 IE 开发人员

javascript - 删除 div 中文本周围的空格

javascript - 将 jQuery 选择器与 Ajax 响应结合使用

html - 如何让悬停在一个类上触发其他类的变化?