css - 我可以使用 CSS 选择器进行 onclick 事件吗?
问题描述
我需要代码作为 onclick 事件工作,该事件应该打开类似于 JS 按钮的 textEditor。有可能这样做吗?:target 没有完成工作。
<!DOCTYPE html>
<html>
<body>
<style>
#textEditor {
display: none;
}
#textEditor:target {
border: 1px dashed black;
width: 1350px;
height: 600px;
display: block;
}
</style>
<a href= "#textEditor">Add Notes</a>
<div id= "textEditor" contenteditable="true"></div>
</body>
</html>
#textEditor {
display: none;
}
#textEditor:target {
border: 1px dashed black;
width: 1350px;
height: 600px;
display: block;
}
<a href="#textEditor">Add Notes</a>
<div id="textEditor" contenteditable="true"></div>
解决方案
鉴于您的意图是创建一个纯 CSS 切换,有几个选项可供您使用;一个是使用一个复选框<input>
,另一个是使用另一个第二个<a>
元素。
一、<input>
做法:
#textEditor_toggle~#textEditor {
display: none;
}
#textEditor_toggle:checked~#textEditor {
border: 1px dashed black;
width: 50vw;
height: 50vh;
display: block;
margin: 1em auto;
}
#textEditor_toggle {
display: none;
}
#textEditor_toggle+label::before {
content: 'Open';
}
#textEditor_toggle:checked+label::before {
content: 'Close';
}
<input type="checkbox" id="textEditor_toggle"><label for="textEditor_toggle"> Editor</label>
<div id="textEditor" contenteditable="true" autofocus></div>
其次,通过第二个链接:
#textEditor {
display: none;
}
#textEditor:target {
border: 1px dashed black;
width: 50vw;
height: 50vh;
display: block;
grid-area: editor;
}
div {
display: grid;
grid-template-areas: "toggle" " editor";
}
a.open {
grid-area: toggle;
}
#textEditor:target+a.open {
display: none;
}
a.close {
display: none;
grid-area: toggle;
}
#textEditor:target~a.close {
display: block;
}
<div>
<div id="textEditor" contenteditable="true"></div>
<a href="#textEditor" class="open">Add Notes</a>
<a href="#" class="close">Close Notes</a>
</div>
推荐阅读
- html - 由于广告刷新而停止内容跳转
- java - Test t = new Test(); 是什么?想在课堂上做什么?
- flutter - 如何在 Flutter 的 pubspec.yaml 中以正确的方式设置依赖项
- java - 从服务中的活动引用文本视图,反之亦然
- python - macOS 11.1 - Python 启动器崩溃
- c - C中同一行的“多个定义”
- java - LeakCanary 在我的 Java Android 应用程序中检测到泄漏 - Google 地图
- azure - 响应 https://graph.microsoft.com/v1.0/communications/callRecords 的方式数据不正确
- jboss - WildFly 服务器发出重复数据源
- linux - stderr 重定向非错误消息的问题