- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
问题:中间的条比其他条高一个像素。这不是,因为我弄错了 css,这是因为浏览器将矩形的边缘与像素网格对齐。
我尝试了几种制作汉堡包图标的不同方法:
绝对定位一些带有背景色的 div。
内联 svg 标签
svg 作为背景图片
单个 div,带有顶部/底部边框和条形背景颜色,以及填充和 background-clip: content-box;
空间。
所有这些方法都有同样的问题:
在某些缩放级别/尺寸下,图标看起来很糟糕,因为三个矩形的尺寸并不完全相同。它们有时大小不同,因为浏览器喜欢将矩形的边缘与像素网格对齐。
我当然希望矩形之间的两个空间也具有相同的厚度。
我知道这是妥协的,即图标必须是 5 像素高的倍数。或者,如果您可以在交替断点处将空间扩展一个像素,而不是在扩展条形时,那么它可以有 2 倍或 3 倍的不同大小。
那么有什么诀窍呢?
webfont 能否使用提示来使所有三个矩形获得相同数量的粗细像素,而不管大小/分辨率/缩放?
我可以做一些 CSS 数学吗?
我真的希望我不必使用 JavaScript 来尝试检测缩放级别的变化。
编辑:现场演示
var hamburgerIconEl = document.getElementById('hamburgerIcon');
var fontSizeEl = document.getElementById('fontSize');
fontSizeEl.addEventListener('input', function (e) {
hamburgerIconEl.style.fontSize = '' + (8 + parseFloat(fontSizeEl.value) / 100) + 'px';
});
.body {
background: white;
}
#hamburgerIcon {
box-sizing: border-box;
display: inline-block;
height: 1.7ex;
width: 2.04ex;
border-width: .34ex 0;
border-style: solid;
border-color: black;
background-clip: content-box;
padding: .34ex 0;
background-color: black;
}
<p>Change the font size, watch the hamburger icon, see how there are a lot of sizes in which the bars don't all have the same thickness and/or spacing.</p>
<div>
<input type="range" id="fontSize" min="0" max="1000" value="0">
<label for="volume">Font Size</label>
</div>
<div>
<div id="hamburgerIcon" style="font-size: 8px"></div> Menu
</div>
最佳答案
现在,我还没有看到您的内联 SVG,但问题可能是您将线条放置得太靠近 SVG 的边缘吗?如果是这样,部分顶线和底线会接缝更薄,因为它们很可爱。
var hamburgerIconEl = document.getElementById('hamburgerIcon');
var fontSizeEl = document.getElementById('fontSize');
fontSizeEl.addEventListener('input', function (e) {
hamburgerIconEl.style.fontSize = '' + (8 + parseFloat(fontSizeEl.value) / 100) + 'px';
});
svg {
height: 2em;
width: 2em;
font-size: 8px;
}
<div>
<input type="range" id="fontSize" min="0" max="1000" value="0">
<label for="volume">Font Size</label>
</div>
<div>
<svg viewBox="0 0 10 10" id="hamburgerIcon">
<path d="M 1 3 H 8 M 1 5 H 8 M 1 7 H 8" fill="none" stroke="black" stroke-width="1" />
</svg>
</div>
关于html - 汉堡图标 : buns+burger same size despite pixel alignment?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70309495/
如果我试图在WSL Ubuntu中运行命令“bun x create-Next-app”,我会被第二个问题卡住:“你想使用TypeScrip吗?>否/是”,我无法按任何键。。为什么会这样呢?
如果我试图在WSL Ubuntu中运行命令“bun x create-Next-app”,我会被第二个问题卡住:“你想使用TypeScrip吗?>否/是”,我无法按任何键。。为什么会这样呢?
我已经通过粘贴此代码运行了安装脚本: $ curl https://bun.sh/install | bash 但是,当我尝试获取 bun 的版本时,它说找不到它: $ bun --version C
Bun is currently working on my local machine, but I cannot get it to show all of the typings in m
我正在尝试新的 bun平台 (v0.1.6) 与 Hono . 我遵循的步骤: bun create hono test-api cd test-api bun dev 然后服务器显示这条信息: $
我是一名中级网络开发人员。 我最近听说了 BunJS,现在正在研究它。我正在使用 bun 开发 NextJS,并尝试在其上安装 Tailwind CSS,但似乎 Tailwind CSS 没有针对由
我正尝试在我的现有repo上运行以下命令,该repo在.npmrc中设置了注册表。BUN安装-y。Y标志用于生成纱线v1锁定文件。它会导致以下错误:。188处的分段故障。如何设置.rc文件,让包子来取
我一直在开发一个Reaction应用程序,并决定使用Bun作为我的JavaScript运行时,以满足其出色的性能要求。然而,我似乎偶然发现了一个关于热重新加载我的Reaction应用程序的问题。。我使
我看了一下Bun官网,我注意到他们声称BUN比NodeJS快近3倍。这是真的吗,还是只是一种营销策略,推广BUN而不是NodeJS?。。请让我知道你的想法。
问题:中间的条比其他条高一个像素。这不是,因为我弄错了 css,这是因为浏览器将矩形的边缘与像素网格对齐。 我尝试了几种制作汉堡包图标的不同方法: 绝对定位一些带有背景色的 div。 内联 svg 标
我正在尝试将我的Node.js项目迁移到Bun。我的项目在很多地方使用了‘fs’包。我发现了许多Bun迁移示例,它们将‘fs’包导入为‘node:FS’。但是,作为“文件系统”导入可以很好地工作,没有
我正在尝试将我的Node.js项目迁移到Bun。我的项目在很多地方使用了‘fs’包。我发现了许多Bun迁移示例,它们将‘fs’包导入为‘node:FS’。但是,作为“文件系统”导入可以很好地工作,没有
我只是想知道如何在 iPhone 中从 Paypal 2.0.1 SDK 获取“立即购买”按钮?有可能从 iPhone 的 Paypal 2.0.1 获得立即购买按钮吗? 最佳答案 来自 PayPal
我是一名优秀的程序员,十分优秀!