CSS3 - 基于媒体查询的自动折叠 DIV

标签 css

场景:


注意:我正在尝试完全通过 CSS3 来完成此操作,而不使用任何 Javascript/JQuery/等。问题的解决方案需要纯粹在 CSS 中(请不要使用脚本!!!)


屏幕布局是标题 + 2 列布局。标题有站点标题等。左侧列设置为屏幕宽度的大约 25%,并包含一组菜单。右侧栏是屏幕的其余部分,包含页面的“内容”。

当屏幕宽度 > 700px 时,布局如上(header + 2 列)。

但是当屏幕宽度 < 700px 时,布局应该更改为单列。在这里,顺序是标题,然后是菜单,然后是内容。

菜单本身通过 Expander 实现具有展开/折叠操作。应该发生的是,当屏幕从 > 700px 调整到 < 700px 时(即,当布局更改时),菜单应该折叠。

问题:

问题是当我尝试折叠媒体查询中的菜单时,菜单再也不会展开,因为媒体查询强制属性保持不变!展开/折叠通过设置或删除“display: none;”发生属性。

不胜感激。

最佳答案

最简单的解决方案是避免直接设置显示属性(我假设您使用 JS - 您没有解释“Expander 实现”的含义)。相反,切换菜单上的类名,并使用媒体查询为其设置样式范围。

@media only screen and (max-width: 699px) {
    .menu.disabled {
        display: none;
    }
}

关于CSS3 - 基于媒体查询的自动折叠 DIV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26426954/

相关文章:

javascript - 如何在文档准备好时折叠 Accordion

javascript - 使用 jQuery 在悬停时加载文件

html - 相对div(html/css)中的绝对位置如何变化

html - 禁止在悬停时显示 <a> 元素的链接

css - 2列CSS float 图像不同大小

jquery - 缩放轨道 slider

html - div 上的 CSS 位置如何影响同级划分的位置?

html - 如何在按钮中定位背景图像

php - html 和 css 中的选项卡式输入

css - 使用过渡更改 CSS3 动画持续时间