css - 使用视口(viewport)高度会导致某些屏幕尺寸的某些部分出现像素线

标签 css responsive-design

编辑:解决方案 - 我添加了 3 个属性。

section{
    **height: calc(86vh + 2px);**
}
:target {
    display: block;
    position: relative;
    top: -14vh; 
    visibility: hidden;
    **margin-top: 2px;**
}
#spacer{
    width: 100vw;
    height: 14vh;
    position: relative;
    top: 0;
    **margin-bottom: -2px;**
}

这是 fiddle https://jsfiddle.net/JohnWeb/9m2ovuyo/

我正在使用 vh 调整我拥有的 3 个部分的大小。但在某些屏幕尺寸下,它会在前 2 个部分上方留下一条像素线,但第 3 个部分将是正确的尺寸。上次查了14vh + 86vh = 100vh = 100% ...

section{
    height: 86vh;
}

#spacer{
    width: 100vw;
    height: 14vh;
    position: relative;
    top: 0;
}

enter image description here

^ 绿色部分下方和水色部分上方^

最佳答案

由于问题并非出现在所有屏幕上,因此很难给出正确的解决方案,但对于这种情况有一种破解方法。您可以使用负边距留出 2px 的间隙。

#spacer{
  margin-bottom: -2px;
}

和相同的高度,即 2px,你用浅绿色添加到下面的部分,否则它会从底部留下 2px 的间隙。通过这个浅绿色部分将在标题部分下方重叠 2px,这将解决它们之间的任何无条件间隙。 Bootstrap 还使用类似的技术通过创建 15 像素的装订线来消除任何可能的布局错误。

关于css - 使用视口(viewport)高度会导致某些屏幕尺寸的某些部分出现像素线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50081815/

相关文章:

javascript - datepicker指定的值不符合jquery.js要求的格式

jquery - 单个产品的照片库/幻灯片放映是什么意思

html - 下拉选项中的 Font-Awesome Unicode 图标显示 HashMap 标

css - 图像 block 和标题 block 没有响应

html - 为什么我的 Bootstrap 列在移动设备/平板电脑上堆叠不正确?

jquery - 单击按钮时切换图像数组

html - 在不引起溢出的情况下将部分图像对齐到视口(viewport)之外

jquery - 如何修复响应式导航

javascript - 响应式 CSS : Fixed Left Sidebar and Footer conflict in small screens

css - Facebook 评论更改了移动设备上的样式表