使元素显示在最小屏幕大小上
Make Element Appear On Minimum Screen Size
当我缩小屏幕大小时,我的标题中有一个错误。导航应该会消失(只有在点击移动导航图标时才会重新出现),这很好。然而,如果我单击移动导航图标,然后再次单击以隐藏它,即使我再次扩大屏幕大小,导航也会保持隐藏状态。
我希望当屏幕达到670px时,导航再次显示。
CSS
@media screen and (min-width: 671px) {
.nav {
display: block;
}
}
@media screen and (max-width: 670px) {
.navicon {
display: block;
}
.homeiconcontainers {
float: none;
width: 100%;
}
.header {
background: none;
opacity: 1;
}
.pagelinkcontainers {
float: none;
line-height: 50px;
background-color: black;
width: 200px;
padding-right: 0px;
text-align: center;
}
ul {
padding-left: 20px;
}
.nav {
display: none;
}
}
JavaScript
// Show Mobile Navbar Onclick
function MobileMenu (object) {
var elements={"nav":{title: "nav"}};
var mobiledisplay = window.getComputedStyle(document.getElementById("nav")).display;
//Show nav element
for(var nav in elements) {
if(object!==nav) {
document.getElementById(nav).style.display='none';
}
if(object==nav && mobiledisplay=='block') {
document.getElementById(nav).style.display='none';
}
else {
document.getElementById(nav).style.display='block';
location.hash=pages[nav].title;
document.title=pages[nav].title;
}
}
}
我的.nav
以某种方式从670px媒体查询或javascript函数中获取display: none
。我也可能错误地使用了min-width
媒体查询,但我不确定。
我想你不需要看我的HTML就可以明白这一点,但如果你愿意,请告诉我。
现在CSS优先于JavaScript内联样式,强制导航栏可见。
@media screen and (min-width: 671px) {
.nav {
display: block !important;
}
为什么?JavaScript代码设置内联样式从CSS样式中胜出。或者更好地说,总是优先考虑CSS规则,除非该CSS规则具有!important
。
相关文章:
- 当带有渲染器的DOM元素不在屏幕顶部时,移动了场景的坐标
- 如何知道元素在屏幕上是否可见.如果没有,请滚动页面
- 当元素到达屏幕上的某个位置时触发事件
- Javascript元素相对于屏幕的位置
- 当元素在屏幕中占60%时,WOW.js启动动画
- 如何显示显示的html元素:在特定的媒体屏幕上没有
- 如何根据客户端的屏幕大小使用javascript更改DOM元素
- 获取以屏幕像素为单位的旋转SVG元素的边界
- 如何在html和javascript中捕捉聚合物元素的屏幕截图
- 在不使用 CSS 的情况下,将元素与浏览器屏幕顶部保持设定的距离
- D3 - 如何确定元素何时离开屏幕
- Javascript,检查元素是否已离开屏幕
- Css-是否可以在调整屏幕大小时使元素移动,以使其适合屏幕
- 迭代JSON对象并将元素打印到屏幕上的最佳方式是什么
- 拍摄元素的屏幕截图
- 使元素显示在最小屏幕大小上
- 浏览器是否对屏幕元素执行相应的Javascript选择
- 如何在屏幕外预加载图像,然后移动到不同的屏幕元素
- 可以禁用finuploader,但仍然渲染屏幕元素
- 用于将HTML屏幕元素绑定到Javascript结构的框架/库