gpt4 book ai didi

html - 根据响应状态在菜单项和列表之间交替

转载 作者:太空宇宙 更新时间:2023-11-04 07:29:08 24 4
gpt4 key购买 nike

我有一个使用响应式 CSS 的网站。根据响应状态,我想更改菜单:

  1. 该站点显示在宽屏幕上,因此我有一个两栏设计。在这种模式下,我可以利用屏幕的整个高度,因此我可以在标题下列出类别和标签,这会占用相当多的空间。
  2. 网站显示在一个不太宽的屏幕上,所有内容都集中在一栏中。在这种模式下,我想在菜单中添加指向类别和标签概述的链接,而不是保留较长的标签和类别列表。

我最近的做法是使用两个 CSS 类,水平和垂直:

@media (min-width: 801px) {
.vertical { display: none; }
}
@media (max-width: 800px) {
.horizontal { display: none; }
}

这些类用于装饰类别和标签概览的两个菜单项以及菜单下方的类别和标签列表。

[编辑]:为了简化代码,我只放了类别,标签是等价的。恐怕我错过了一些读者(抱歉!),所以我添加了更多代码以清楚地显示两个选项之间的区别。

<head>
...
<meta name="viewport" content="width=device-width, initial-scale=1">
...
</head>
...
<aside>
<nav class="nav">
<ul class="list-bare">
{% for title, link in MENUITEMS %}
<li><a class="nav__link" href="{{ link }}">{{ title }}</a></li>
{% endfor %}
<li class="vertical"><a class="nav__link" href="/categories.html">Categories</a></li>
</ul>
</nav>
<h2 class="horizontal">Categories</h2>
<ul class="navbar horizontal">
{% for cat, null in categories %}
<li{% if cat == category %} class="active"{% endif %}><a href="{{ SITEURL }}/{{ cat.url }}">{{ cat }}</a></li>
{% endfor %}
</ul>
</aside>

这确实有效。但我想知道这是否是 CSS 艺术的状态。还是有另一种机制来做这些交替的事情?

最佳答案

如果我对您的帖子的理解正确,您正在考虑复制菜单并根据视口(viewport)或屏幕宽度隐藏一个或另一个版本。

虽然这可行,但有一个更简洁、更易于维护的解决方案。

请查看此建议:https://codepen.io/panchroma/pen/eMKGKw

如您所见,只有一个菜单,我正在使用一个简单的媒体查询来控制菜单列表项的宽度。

HTML

<ul>  
<li><a class="nav__link" href="/categories.html">Categories</a></li>
<li><a class="nav__link" href="/tags.html">Tags</a></li>
</ul>

CSS

ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
background-color: #333333;
}

li {
float: left;
width:100%;
}

li a {
display: block;
color: white;
text-align: center;
padding: 16px;
text-decoration: none;
}

li a:hover {
background-color: #111111;
}

@media (min-width: 801px) {

li {
width:50%;
}
}

加一个viewport meta tag在文档的头部

<head>  
...
<meta name="viewport" content="width=device-width, initial-scale=1">
...
</head>

更新

这是我认为可以完成您需要做的事情的变体: https://codepen.io/panchroma/pen/VXGPEM

代码非常相似,带有用于标签云和类别列表的嵌套列表以及一些管理其显示的媒体查询:

祝你好运!

关于html - 根据响应状态在菜单项和列表之间交替,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49592801/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com