我一直试图让我的链接显示并在其下面隐藏一个段落。
我只需要使用CSS即可完成此任务。段落必须在加载时隐藏,并在单击链接后显示,然后再次单击链接时再次隐藏。
我该如何做到这一点?
<a …………………>My link</a>
<p>Sed ut perspiciatis unde omnis iste natus</p>
我真的很感激任何帮助......
答案 0 :(得分:2)
简短回答:你需要javascript。
毕竟,这就是它的目的:用户互动,以及其他很酷的事情。另一方面,CSS面向演示,因此其交互功能受到限制(例如,它响应悬停操作但不按照您期望的方式单击操作)。
我想到的唯一想法是使用一个复选框来控制点击“状态”,并在css中显示基于该状态的内容。
HTML:
<label><input type="checkbox">My link
<p>Sed ut perspiciatis unde omnis iste natus</p>
</label>
CSS:
input[type="checkbox"] {display: none;}
input[type="checkbox"] + p {display:none; margin-left:1em;}
input[type="checkbox"]:checked + p {display:block;}
但是,这个解决方案可能不是最好的跨浏览器,所以我们回到“Javascript”;)
答案 1 :(得分:0)
您不必使用JavaScript来执行此操作。你可以用CSS完全做到这一点。以下是如何完成此操作的示例:
<强> CSS 强>
.toggle {display: block;}
.toggle-label { color: blue; text-decoration: underline; }
.toggle-label:hover {text-decoration: none; cursor: pointer; }
#Clicker {display: none;}
#Clicker:checked + .toggle {display: none;}
<强> HTML 强>
<label for="Clicker">Click it</label>
<input id="Clicker" class="click-detect" type="checkbox" />
<p class="toggle">
This paragraph shows because the link hasn't been clicked. It will hide when you click the "Click It" text. Honest!
</p>
说明:
此外,本网站还介绍了一些纯粹使用css的方法: http://tympanus.net/codrops/2012/12/17/css-click-events/
问题实际上是你现在依靠“黑客”来完成这项工作。最后,您必须决定是否依靠黑客攻击才能解决问题。如果这是你唯一可以做的事情那么......那就是你必须要做的事情!