【发布时间】:2021-04-24 18:23:07
【问题描述】:
这主要是一个帖子,不要用不相关的信息把另一个帖子弄得乱七八糟。
我正在尝试在标签上使用翻译,其距离应基于其旁边的菜单 div。所述菜单最初不显示,并且标签用作显示/隐藏菜单的复选框。它还有一个基于页面宽度的集合max-width,这是我遇到一些问题的地方。当页面足够宽时,设置像素量的平移工作正常。但是,当页面变得太窄时(例如在移动设备上),标签会离右侧太远,有时甚至会夹在右侧的按钮中。
下面是一些图片来说明这一点。
隐藏菜单的菜单标签:
这是它目前的样子:
这里,标签在右侧太远了,因为菜单 div 现在位于其 max-width。
这就是我想要的样子:
这是我的代码:
.topnav .dropdown {
display: none;
overflow-y: auto;
position: absolute;
z-index: 10;
width: 200px;
max-width: 50%;
/* [...] */
}
#dropdown-toggle-label {
display: block;
margin: auto 0;
padding: .5em;
}
#dropdown-toggle:checked + label {
transform: translateX(215px);
-ms-transform: translateX(215px);
}
#dropdown-toggle:checked ~ .dropdown{
display: block;
}
<div class="topnav">
<input type="checkbox" id="dropdown-toggle">
<label for="dropdown-toggle" id="dropdown-toggle-label"><i class="fas fa-bars"></i></label>
<ul class="dropdown">
...
</ul>
</div>
如果可能的话,我想在不使用 javascript 的情况下解决这个问题。
编辑:这是一个说明问题的JSFiddle。
【问题讨论】:
-
你能创建a jsfiddle example吗?并尝试在
vd中设置width像这样width: 1vw -
@StepUp 所以您的意思是将
max-width设置为50vw而不是50%?我还在帖子中添加了一个jsfiddle -
对我来说看起来不错。您能创建一张图片并显示问题所在吗?
-
上面的帖子有截图。当视口的宽度变得小于
400px时会发生这种情况,因为那时菜单的max-width将开始进入,并且标签将向右平移太远。