- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我认为这个问题很常见,所以在 SO 本身中找到了它,但找不到解决方法。
问题:
当您调整窗口大小时,您会注意到两个图像的高度有时会相差 1px(这是浏览器调整尺寸时的预期)。
如何“修复”此 UI 问题?我知道我可以通过使用 flexbox
来做到这一点。但我想有更好的解决方案。你们可以加入吗?
table{
width:100%;
border-collapse: collapse;
}
img{
display: block;
width: 100%;
}
<table>
<tr>
<td><img src="http://placehold.it/100x100"/></td>
<td><img src="http://placehold.it/100x100"/></td>
</tr>
</table>
甚至在这里,当我使用 display: table
时:
.wrapper{
width:100%;
display: table;
}
.wrapper div{
display: table-cell;
}
img{
display: block;
width: 100%;
}
<div class="wrapper">
<div><img src="http://placehold.it/100x100"/></div>
<div><img src="http://placehold.it/100x100"/></div>
</div>
编辑:该问题在 Firefox 浏览器中不存在,但在 Chrome 中存在。
请注意,当我使用 flexbox
时,问题不存在:
body{
margin: 0;
}
.wrapper{
width:100%;
display: flex;
}
.wrapper div{
flex: 1;
}
img{
display: block;
width: 100%;
}
<div class="wrapper">
<div><img src="http://placehold.it/100x100"/></div>
<div><img src="http://placehold.it/100x100"/></div>
</div>
或使用 float 和内联 block :
body{
margin: 0;
}
.wrapper{
width:100%;
display: block;
}
.wrapper div{
display: inline-block;
float: left;
width:50%;
}
.wrapper:after{
content: '';
display: inline-block;
clear:both;
}
img{
display: block;
width: 100%;
}
<div class="wrapper">
<div><img src="http://placehold.it/100x100"/></div>
<div><img src="http://placehold.it/100x100"/></div>
</div>
最佳答案
那是因为Sub-Pixel Problems .
每个图像占据容器的 50%。例如,如果容器的宽度为 100 像素,则每张图片的宽度为 50 像素。
但是容器的宽度可以是奇数个像素,例如101 像素。那么存在三种合理的可能性:
每种选择都有其缺点,但如今浏览器似乎更喜欢第一种选择。然而,在这种情况下,图像具有固有的宽高比,因此不同的宽度会产生不同的高度,然后 1px 的间隙是水平而不是垂直创建的。
似乎 Firefox 检测到比,因此使较小的图像与另一个图像一样高,打破了纵横比。 Chrome 倾向于强制执行纵横比。
没有办法改变这一点。它完全依赖于实现:
The especially strange part, in all of this, is that there’s really no right, or wrong, here. How this behavior is supposed to play out by the rendering engine isn’t dictated by the CSS specification, having it be left up to the implementation to render as it sees fit.
关于html - 浏览器的 1px 计算问题(亚像素问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39209886/
我正在上 codeschool,他们告诉我: SORRY, TRY AGAIN transform must be defined last, after the browser prefix sty
我正在使用 SCSS 更改 bootstrap 4 的样式以创建我自己的样式,但是当我编译 SCSS 时出现此错误: { "status": 1, "file": "H:/!WEBSITE/m
在将作为 photoshop 文件给出的网页设计转换为 html+css 时,我对字体大小感到困惑。如下图所示,photoshop 中的 30 px 不等于其他 Windows 程序(Mac 或其他程
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 6 年前。 Improve
在我当前的代码中,ul 一直放在页面底部,超过了我的预定义框。 我尝试使用 position:fixed 和 bottom:0 .box { width: 900px; height:
我在 photoshop 中有一个模型,其字体为 60px。我将浏览器中的字体设置为相同的 60px 大小,但浏览器中的字体较小。知道这是为什么吗? 最佳答案 您在 Photoshop 中为您的文本启
我想知道是否有可能仅使用 CSS 获取页面的浏览器/视口(viewport)像素尺寸并将其显示在页面上(最好使用“内容”样式)。我正在为我的一个元素(完全用 CSS 构建)这样做。我知道使用 JS 很
我正在尝试将可变数量的像素计算为与密度无关的像素,反之亦然。 这个公式 (px to dp): dp = (int)(px/(displayMetrics.densityDpi/160)); 不适用于
我在一个带有 1px 边框的容器中有两个 div。我希望每个 div 按宽度正好占据容器的一半,所以我尝试使用 CSS3 的 calc函数从总宽度 (50%) 中减去预定的像素值(2px,div 的每
我正在使用 em 但在嵌套元素中遇到问题所以我决定使用 % 作为 yui建议。 To change the size of a font, always use percentages as the
我有一个元素容器。我想为容纳元素的容器设置最大高度,但如果元素没有填满整个尺寸,则让容器降低其高度。是否可以通过 CSS 实现? 最佳答案 也许使用height: auto。请显示您的 CSS 和 H
我刚刚开始使用 sprites 来减少 HTTP 请求,我在将处理悬停动画的旧脚本转换到新系统时遇到了一些问题。我真的不想为每个按钮设置一个单独的功能,因为这很痛苦,尤其是按钮的数量,即使复制和粘贴也
我正在从头开始创建一个 HTML 页面,并在其中动态放置值,然后将其显示在 WebView 中。 我正在尝试在 WebView(作为 HTML)中复制 ActionBar(出现在应用程序的其他 Act
我希望“蓝色”容器始终为 70 像素高,而之前的“绿色”div 在使用 javascript 调整 div 大小时始终最大化可用高度。 我已经尝试了一段时间,但没有找到合适的解决方案。我们将不胜感激。
我在 Quora 上阅读了以下内容: By setting the font-size of the (which by default its 16px) to 62.5%, setting em
我在关于 http://developer.android.com/guide/practices/screens_support.html 的一些不幸的歧义中迷失了方向,而且我找不到澄清问题的 st
以前做移动端项目的时候都是用rem来做适配,现在基本上都是通过viewport单位来做。 postcss-px-to-viewport就是一个将px单位转换为视口单位的 (vw, vh, vmi
有什么区别: border-right: 1px dotted #CCCCCC; 和: border-right: 1 px dotted #CCCCCC; 有没有? 第二个不正确吗?你需要在 px
我想创建(某种)全 Angular slider ,其中我有一个带有多个子部分的柔性包装器。每个部分100vw排成一排。现在我想每次单击按钮时都将 Flex-wrapper 的 margin-left
在这样的代码中: var a = e.clientX; var b = document.getElementById('someElement').style.left; var z = a - b
我是一名优秀的程序员,十分优秀!