javascript - 附加
问题描述
我用一个 div 创建了这个导航,里面有那些 li
<nav>
<div class="nav-links">
<li><a href="./index.html">Αρχική</a></li>
<li><a href="./products.html">Προϊόντα</a></li>
<li><a href="./photos.html">Φωτογραφίες</a></li>
</div>
</nav>
另外,我创建了一个“汉堡” div,当有人在打电话时,它用作按钮,当你点击它时,它会显示 Αρχική,Προϊόντα,Φωτογραφίες。
<div class="burger">
<div class="line1"></div>
<div class="line2"></div>
<div class="line3"></div>
</div>
但是,每当有人在打电话并点击它时,我都想再多一个名为“谷歌地图”的里。无论如何我可以使用Javascript来做到这一点吗?
解决方案
实现这一点的最简单方法是通过 CSS - 有一个媒体查询,它只在手机屏幕大小上显示 Google 地图链接。以下媒体查询将隐藏具有 maps-link 类的 li,适用于任何 768 像素及以上的屏幕尺寸。
您可以通过查看下面的片段在此处看到这一点(相当于小屏幕,您将在其中看到地图链接,因为宽度不足以匹配媒体查询......然后单击“全屏”链接切换到全屏,现在地图链接将不会显示 - 因为宽度足以触发媒体查询。
另请注意,li 是 ul 元素的子元素 - 而不是 div。
而不是创建两个单独的导航列表 - 一个用于电话,一个用于非电话......最好有一个列表并为不同的视口设置相应的样式。
@media only screen and (min-width: 768px) {
.maps-link {
display: none;
}
}
<nav>
<ul class="nav-links">
<li><a href="./index.html">Αρχική</a></li>
<li><a href="./products.html">Προϊόντα</a></li>
<li><a href="./photos.html">Φωτογραφίες</a></li>
<li class="maps-link"><a href="./maps.html">Google maps</a></li>
</ul>
</nav>
推荐阅读
- c++ - 如何在没有新班级多米诺骨牌效应的情况下创建新班级以造福后代
- android - 有没有办法在 Flutter 中创建嵌套抽屉?
- python - 如何将用户输入的姓名和年龄列表排序为具有相应姓名的平均年龄、最高和最低年龄?
- android - 如何更改 Xamarin 项目的 Android 主题?
- github - GitHub搜索GUI中单引号和双引号有什么区别
- laravel - 处理 Lumen API 内存耗尽错误的最佳方法是什么
- hyperledger-fabric - 错误:ID 为“$sysregistries”的集合中 ID 为“Asset:org.supplychain.food.model.LiveAsset”的对象不存在”
- javascript - jQuery .append() 和 .attr() 的这种组合可以被 XSS 攻击利用吗?
- c++ - 如何在我的进程中运行的二进制文件中注册 Op 和 Kernel?
- typescript - 打字稿如何克隆除一键外的对象