beat365手机版客户端ios

为什么当我的div的高度设置为0时,它仍然显示?

发布时间 2026-02-20 19:24:04 作者 admin 阅读 1326

我知道这可能是一个以前被问过的问题,但我还没有找到一个帖子或其他问题来解决这个问题。

我想用Javascript通过切换#mobileMenu div的高度来制作一个下拉移动菜单。我希望div在文档加载时的初始高度为0,并在单击触发按钮时添加它的完整高度。唯一的问题是,当我将div的初始高度设置为0时,文档仍然显示高度为27.59px的div,这对我来说没有多大意义。

我尝试添加:overflow: hidden; / line-height: 0; / display: block,但无论我做什么,div的高度都不会低于27.59px。我甚至完成了Javascript功能,div将打开到154px的高度,但当它关闭时,它会返回到27.59px而不是0。

代码语言:javascript复制const openBtn = document.querySelector('.open');

const closeBtn = document.querySelector('.close');

const mobileMenu = document.getElementById('mobileMenu');

openBtn.addEventListener('click', e => {

mobileMenu.classList.remove('hidden');

mobileMenu.classList.add('active');

openBtn.style.display = 'none';

closeBtn.style.display = 'block';

});

closeBtn.addEventListener('click', e => {

mobileMenu.classList.remove('active');

mobileMenu.classList.add('hidden');

openBtn.style.display = 'block';

closeBtn.style.display = 'none';

});代码语言:javascript复制* {

margin: 0;

padding: 0;

box-sizing: border-box;

}

body {

position: relative;

}

/* Header */

header {

display: flex;

justify-content: space-around;

align-items: center;

padding: .5rem;

height: 60px;

position: fixed;

top: 0;

left: 0;

right: 0;

}

header h2 {

font-family: 'Calistoga';

letter-spacing: 2px;

}

header i {

font-size: 1.5rem;

}

header i:hover {

cursor: pointer;

}

header i.close {

display: none;

}

/* Mobile Nav */

#mobileMenu {

padding: .8rem 0;

border-top: 1px solid #000;

border-bottom: 1px solid #000;

position: fixed;

top: 92px;

left: 0;

right: 0;

overflow: hidden;

transition: height .7s ease-in-out;

}

#mobileMenu.hidden {

height: 0;

line-height: 0;

display: block;

}

#mobileMenu.active {

height: 154px;

}

.mobile-nav {

display: flex;

flex-direction: column;

justify-content: center;

align-items: center;

list-style: none;

}

.mobile-nav li {

padding: .3rem 0;

}

.mobile-nav li a {

text-decoration: none;

font-size: 1.2rem;

color: #000;

}代码语言:javascript复制

Website Header

不管有没有overflow: hidden; / line-height: 0; / display: block,结果都是一样的。

任何帮助都将不胜感激。谢谢您抽时间见我。

相关推荐

如何有效投诉百度并维护自己的合法权益

2. 明确投诉内容 (Clarifying the Complaint Content) 在投诉时,用户需要明确自己要投诉的具体内容,包括问题的性质、影响程度等。这有助于客服人员

10-11 分类 365报价官网

dota2什么服务器人多

Dota 2是一款全球性的在线多人对战游戏,因此在全球范围内有许多服务器供玩家选择。以下是几个人数较多的Dota 2服务器: 中国服务器(Perfect W

06-27 分类 365报价官网

阴阳师赤舌哪里打

阴阳师赤舌哪里打问题四:阴阳师赤舌哪里多 最快刷赤舌地点推荐 海扁:赤舌冲到敌人面伸出长舌想要舔敌人,结果太大力,用舌头狠狠海扁了对方

02-18 分类 beat365手机版客户端ios

16开纸与A4纸对比,哪个更适合你?

16开纸与A4纸对比,哪个更适合你? 在日常生活和职业中,我们常常需要选择合适的纸张进行打印或书写。那么,16开纸与A4纸到底有什么区别呢

07-26 分类 365bet提款规则

为什么女生阴道会流很多白色液体

女生阴道流很多白色液体可能是雌激素水平变化、阴道炎、宫颈炎、子宫内膜炎、输卵管炎等病因导致的,这些疾病可能导致白带量增多。建议

10-29 分类 beat365手机版客户端ios

笛子三连音吹奏技巧 (笛子连音吹法)

1、吹奏时的呼吸与往常的呼吸是有所不同的,因吹奏中吸气量大,普通都用口鼻同时吸气,以加极速度。 吸气也分慢吸和快吸两种,普通在乐

08-15 分类 365报价官网

【迈凯伦】迈凯伦汽车报价

未经授权禁止转载、摘编、复制或建立镜像,如有违反,追究法律责任。 网站备案号:粤B2-20040647号-12 举报邮箱:shenhezhiban@pconline.com.cn 粤公网

07-06 分类 beat365手机版客户端ios