【发布时间】:2014-07-30 14:11:59
【问题描述】:
假设我有三个包含独特内容的 div;
- div1 = 是 Photoshop 指南
- div2 = 包含图片库
- div3 = 列出个人联系方式
当我的页面加载时,它们都需要被隐藏;
- div1 = 隐藏
- div2 = 隐藏
- div3 = 隐藏
它们也相互叠放(占据相同宽度但高度不同的相同空间)。
在这些 div 上方有一个水平菜单可以触发它们的可见性;
|查看 1 |查看 2 |查看 3 |
如果用户点击“查看 1”,则 div1 变为可见;
- div1 = 可见
- div2 = 隐藏
- div3 = 隐藏
如果用户点击“查看 2”,则只有 div2 可见;
- div1 = 隐藏
- div2 = 可见
- div3 = 隐藏
点击“查看 3”也是如此;
- div1 = 隐藏
- div2 = 隐藏
- div3 = 可见
我目前的解决方案可通过此处的 JSFiddle 获得;
仅在 <div>、<label> 和 <input> 中使用复选框和不透明度设置
如何以尽可能最小的方式仅使用 HTML 和 CSS(无脚本)来解决此问题?
- 我想要实现的是一个单一的页面设计,其中不使用外部页面
- 背景(或活动)样式也可用于菜单项(因此用户知道他们正在查看哪个 div)
- 当前解决方案的问题是标签没有选择效果,并且 div 不重叠(它们彼此下方出现,就像重叠中的列表一样)。单击标签时,徽标也会与第 3 项一起消失
【问题讨论】:
-
使用单选按钮、标签和 CSS :checked 选择器。 alistapart.com/article/radio-controlled-web-design
标签: html css modal-dialog