【发布时间】:2018-12-23 15:18:55
【问题描述】:
我的主页上有两篇长篇介绍性文章。它们仅对第一次访问者是必需的,所以我想简单地显示一个带有扩展选项的摘要。
我的问题是由于文章很长,“隐藏”选项需要在文章的末尾。这使得收音机/输入选项受到限制,除非我能找到一种从最后激活它的方法。有没有办法只使用 css 来触发它?
该网站仅使用 CSS。我不关心过时的浏览器,但我希望它对 SEO 友好(可读)并且没有任何安全触发器(因此没有脚本)。
我已经阅读了我能找到的所有内容,但是这些选项要么需要相同的触发器来激活显示/隐藏(在我的情况下对用户不友好,因为用户必须在文章中搜索它)或 JS。我试过玩链接和按钮无济于事。我考虑过使用对话框,但这也需要 JS 激活。模态弹出窗口是一种可能性,但我不确定它对弹出窗口阻止程序有何反应,所以我将它作为最后的手段。
其他回复有些过时了,所以我希望有一些现在可以考虑得到更广泛支持的技术。
这里是jsfiddle。
/*OPTION 1*/
#More,#Art1 {display: none} /*hides checkbox and 2nd part of article */
#More:checked~#Art1 {
display: block;
}
/*Trying to get it to close: */
#Less {
display: none}
#Less:checked~#Art2 {
display: none;
}
/* OPTION 2 */
.option2 {
background-color: yellow;
}
.overlay {
position: fixed;
top: 0;
bottom: 0;
left: 0;
right: 0;
background: rgba(0, 0, 0, 0.7);
transition: opacity 500ms;
visibility: hidden;
opacity: 0;
}
.overlay:target {
visibility: visible;
opacity: 1;
}
.text2b {
background: #bbb;
border-radius: 5px;
width: 70%;
position: relative;
transition: all 5s ease-in-out;
}
.text2b .close {
transition: all 200ms;
font-size: 16px;
font-weight: bold;
text-decoration: none;
color: #333;
}
<!--OPTION 1 -->
<p>OPTION 1. RADIO BUTTONS. The beginning of an article. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam.2B continued.
</p><input type=checkbox id="More"><label for="More">MORE</label>
<div id="Art1">
<p>
Second part of Lorem. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam. The End of Option 1.</p>
<input type=checkbox id="Less"><label for="Less">LESS</label>
</div>
<!--OPTION 2 -->
<div id="option2a" class="option2">
<p>OPTION 2. MODAL OPTION. The beginning of an article. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam.2B continued.
</p><a href="#option2b">MORE</a>
<div id="option2b" class="overlay">
<div class='text2b'>
<p>
Second part of of MODAL OPTION. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam. The end. </p>
<a class="close" href="#">CLOSE</a>
</div>
</div>
<p>
Other stuff... Meant only to check positioning of Modal.
</p>
小提琴显示了这个选项和我一直在玩的模态版本。欢迎其他符合先决条件的想法。
【问题讨论】:
-
是的。看见了。好主意,但都有相同的显示/隐藏触发器。我需要在底部“隐藏”。
-
通过告诉我隐藏在底部意味着什么?
-
隐藏选项应该在文章末尾。用户不应搜索它。如果上面的代码可以工作,那就完美了。但单选按钮仅显示/隐藏其下方的内容,而不是其上方。
-
使用 CSS 你可以将它定位到底部..对吗?
标签: css triggers modal-dialog radio-button show-hide