css - 移动设备的不同标题

标签 css html

为客户制作静态网站,他们希望为移动设备提供完全不同的主菜单设计(更多的是应用程序的外观和感觉)。

提供此服务的最佳方式是什么?有两个标题标签,一个用于桌面,一个用于移动?

这就是我现在拥有的:

<header class="desktop-only-header">
  <ul>
    <li><a href="/">Home</a></li>
    <li><a href="/about">About</a></li>
    <li><a href="/contact">Contact</a></li>
  </ul>
</header>

<header class="mobile-only-header">
  <ul>
    <li><a href="/"><i class="icon-home"></i></a></li>
    <li><a href="/about"><i class="icon-about"></i></a></li>
    <li><a href="/contact"><i class="icon-contact"></i></a></li>
    <li><a href="/best-articles"><i class="icon-best-articles"></i></a></li>
    <li><a href="#"><i class="icon-social"></i></a></li>
  </ul>
</header>

我尝试只使用一个 header ,但更改移动设备上的外观(显示和隐藏内容)所需的 CSS 数量太多了。

最佳答案

您可以使用mediaqueries根据屏幕尺寸显示和隐藏不同的内容。

例如:

/* Small devices (tablets, 768px and up) */
@media (max-width: 768px) { 
  #header_desktop{
   display:none;
  }
  #header_mobile{
   display:initial;
  }
}

当屏幕宽度低于 768px 时,上面的代码将隐藏桌面导航并显示移动导航。确保一般情况下隐藏移动导航。

.mobile-only-header {
  display: none;
}


/* Small devices (tablets, 768px and up) */

@media (max-width: 768px) {
  .desktop-only-header {
    display: none;
  }
  .mobile-only-header {
    display: initial;
  }
}
<header class="desktop-only-header">
  <ul>
    <li><a href="#">Desktop</a></li>
    <li><a href="#">Home</a></li>
    <li><a href="#">About</a></li>
    <li><a href="#">Contact</a></li>
  </ul>
</header>

<header class="mobile-only-header">
  <ul>
    <li><a href="#">Mobile</a></li>
    <li><a href="#">Home</a></li>
    <li><a href="#">About</i></a></li>
    <li><a href="#">Contact</i></a></li>
  </ul>
</header>

关于css - 移动设备的不同标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49509628/

相关文章:

php - php 中的注册页面数据库中的值未更新

jquery - 使用 html5 验证表单中输入的长度恰好为 10

javascript - 在 CSS 之前执行 JS

html - 影响父级高度的 CSS 嵌套列表

javascript - 选择选项时 react native 自动完成输入列表未关闭

javascript - 悬停时更改 z-index(弹跳 div)

html - 如何在网页中画线?

css - 在子菜单中永久激活的菜单颜色

html - CSS 中的文件浏览器布局

html - 访问的样式 sibling