- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在顶部导航栏中有元素。随着屏幕尺寸变小,我想将不太重要的东西移到汉堡菜单中。我想先移动不太重要的元素,而不仅仅是从右边开始,所以要按确定的顺序移动。
我是使用 CSS 媒体查询完成的。通过隐藏顶部元素并同时在汉堡菜单中显示菜单。问题是我必须把所有东西都吃两次,一次在顶部,一次在汉堡包。也可以在这里找到:https://jsfiddle.net/fqxndrhy/
document.getElementById('hamburger').onclick = function() {
document.getElementById('mobile_menu').classList.toggle('show');
}
body {
margin: 0;
}
nav {
display: flex;
position: sticky;
left: 0;
top: 0;
width: 100vw;
}
nav>section {
border: 1px solid red;
}
#mobile_menu {
display: none;
position: fixed;
top: 1cm;
right: 0;
border: 1px solid green;
display: none;
flex-direction: column;
color: black;
background-color: white;
}
#mobile_menu.show {
display: flex;
}
#desktop1 {
flex: 1;
}
/* hiding certain items at smaller resolutions */
#mobile1,
#mobile2,
#mobile3,
#mobile4,
#mobile5,
#hamburger {
display: none;
}
@media (max-width: 1000px) {
#desktop2 {
display: none;
}
#mobile2,
#hamburger {
display: initial;
}
}
@media (max-width: 900px) {
#desktop5 {
display: none;
}
#mobile5 {
display: initial;
}
}
@media (max-width: 800px) {
#desktop3,
#desktop4 {
display: none;
}
#mobile3,
#mobile4 {
display: initial;
}
}
<nav>
<section id="desktop1">desktop1</section>
<section id="desktop2">desktop2</section>
<section id="desktop3">desktop3</section>
<section id="desktop4">desktop4</section>
<section id="desktop5">desktop5</section>
<button id="hamburger">☰</button>
</nav>
<div id="mobile_menu">
<section id="mobile1">mobile1</section>
<section id="mobile2">mobile2</section>
<section id="mobile3">mobile3</section>
<section id="mobile4">mobile4</section>
<section id="mobile5">mobile5</section>
</div>
Open it in separate window and shrink browser width to hide top items. Items are hiding in random order and appearing in hamburger menu (desktop2 at 1000px width, desktop5 at 900px width, desktop3 and desktop4 at 800px width
是否有可能避免这种口是心非?我做了一些尝试,但它们非常复杂,我正在寻找一个简单、可靠的解决方案吗?
最佳答案
你可以做到,但使用复选框有点小技巧
body {
margin: 0;
}
nav {
display: flex;
position: sticky;
left: 0;
top: 0;
width: 100vw;
}
#mobile_menu {
display: flex;
flex-direction: row-reverse;
}
#mobile_menu>* {
flex: 1;
}
#hamburger {
width: 0;
height: 0;
overflow: hidden;
position: absolute;
padding: 0;
margin: 0;
}
@media (max-width: 1000px) {
#hamburger, label {
display: inline-block;
}
#mobile_menu section {
display: none;
}
#hamburger:checked ~ section {
display: inline-block;
}
}
@media (min-width: 1000px) {
#hamburger, label{
display: none;
}
#mobile_menu section {
display: inline-block;
}
}
<div id="mobile_menu">
<label for="hamburger">☰</label>
<input type="checkbox" id="hamburger" />
<section id="mobile1">mobile1</section>
<section id="mobile2">mobile2</section>
<section id="mobile3">mobile3</section>
<section id="mobile4">mobile4</section>
<section id="mobile5">mobile5</section>
</div>
我在这里做的是根据分辨率显示隐藏汉堡包,在移动版本中我使用兄弟和 :checked 选择器的组合显示/隐藏元素
这只是 CSS 解决方案,但通常 JavaScript 的解决方案更常见且更灵活。
关于javascript - CSS 将顶部菜单项移动到汉堡菜单以适应较小的屏幕尺寸而不重复元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54987169/
抖音开学季完成任务免费领甜筒、汉堡、随机红包等 打开抖音APP 首页搜索【开学季】下拉页面点击活动进去 完成简单任务即可免费领麦当劳甜筒、吉士汉堡、随机红包等! 活动地址:抖音搜索【开学季
我有一个用于桌面 View 的导航栏和用于移动设备的汉堡菜单,我有一个关于汉堡菜单的问题;汉堡菜单的栏覆盖了部分背景图像,我希望背景图像始终位于汉堡菜单之后。这是我的代码
我想改变抽屉导航的汉堡/箭头图标的颜色。我知道我可以在样式中更改它,但我想在 java 中动态更改它。有人知道怎么做吗? 最佳答案 使用 appcompat-v7:23.0.1 下一个代码对我有用:
我正在使用带有 DrawerLayout 的工具栏。我的工具栏有 2 个 View (按钮),一个在中间,一个靠近右边距。当我使用 getSupportActionBar().setDisplayHo
我正在练习如何制作一个响应式汉堡菜单,但我在两个功能上遇到了麻烦,我想让它发挥作用。 我在汉堡菜单中使用了一个很棒的字体图标,它不想在屏幕大于 480 像素时消失。我得到那个工作的唯一方法是在图标类上
我有一个“移动汉堡包”引导菜单(引导3)。我想关闭使用代码打开的汉堡菜单。 最佳答案 Bytec0de是正确的:$('elem').collapse('hide'); 关于javascript - b
我确定有人问过这个问题,但我似乎找不到不使用 SASS 的示例。我只有一个正在使用的常规 CSS 文件。我希望汉堡菜单更改为较大尺寸的水平菜单。(@media only screen and (min
很长一段时间以来,我一直在我的网站上使用汉堡菜单,这是一个具有绝对定位的全屏导航覆盖层,其中导航打开是(css)高度= 100%并且关闭=“0%”。它基于本教程:https://www.w3schoo
我是一名优秀的程序员,十分优秀!