【问题标题】:Any alternatives to absolute positions used for placing elements over element?用于将元素放置在元素上的绝对位置的任何替代方法?
【发布时间】:2023-03-11 03:50:02
【问题描述】:

这是为我拥有的每张图片创建的 HTML。

如您所见,votingContainer 类的图像和 div 都是 stickySpecificContainer 的子级。 stickySpecificContainer 是内联块,它采用其内容的宽度和高度,在这种情况下是图像。 votingContainer 使用 position: absolute 定位在其父级的左上角,在这种情况下是stickySpecificContainer

现在这一切都很好而且花花公子,除了每个内联块都有默认的底部边距,比如我的stickySpecificContainer,这完全与我的布局有关。

    <div class="home-container-element">
        <div class="stickySpecificContainer">

            <img class='home-image' src='' alt='Random image'>

            <div class='votingContainer'>
                <a href='#' class='' id=''></a>
                <a href='#' class='' id=''></a>
            </div>

        </div>
    </div>

CSS

.home-container-element {
    text-align: center;
    position: relative;
    width: 100%;
    margin-bottom: 6px;
}
.home-image {
    position: relative;
    display: block;
    width: 100%;
    max-height: 800px;
    object-fit: cover;
}
.stickySpecificContainer {
    position: relative;
    z-index: 2;
    display: inline-block;
}
.votingContainer {
    position: absolute;
    top: 10px;
    left: 10px;
}

【问题讨论】:

  • 你能添加一个实时视图或有错误的图像。我无法复制或理解是什么破坏了您的布局

标签: html css


【解决方案1】:

只需在您的主容器上将字体大小设置为 0

.home-container-element {
   font-size: 0;

并将其设置回您在投票容器中需要的内容

.votingContainer {
   font-size: 12px;

这将删除块之间的空白。

编辑: 能够查看页面后,发现问题在于主容器需要在响应式布局中调整其宽度。设置 inline-block 时,子容器的宽度不再是 100%,所以需要一起设置。为了删除内联块附带的底部边距,上述原始答案适用。

【讨论】:

  • 我可以向您展示它在我的网站上的外观 - onyx.space。使用管理员作为用户名和密码,因为如果您登录,您只能看到赞成/反对票。我的最终目标只是将投票 div 正确定位在左上角,但现在特定图像上的投票容器直接离开div,我不知道为什么会这样。当我将 stickyContainer 显示更改为 inline-block 时;图像之间的差距无缘无故扩大。
  • 我可以看到投票框在 Chrome 和 IE 中的某些窗口大小上移出,而不是 Firefox。但是,如果我在stickycontainer 上设置inline-block,我可以看到它去到它所属的地方,而不会对图像之间的间隙产生任何影响。除非我更改页面缩放,但我想这不是问题。
  • 我在 1920x1080 显示器上的谷歌浏览器上查看它。当我在 stickyContainer 上设置 inline-block 时,某些元素之间的 10px 列间距由于某种原因扩大到至少 40-50px。我已经更改了代码,它应该是实时的。你看不一样吗?
  • 现在我知道了。设置宽度:100%;然后与 inline-block 一起使用。
  • 是的,解决了 column-gap 和 voteContainer 问题,但现在由于stickyContainer 是内联块,我的底部边距大了几个像素。我已将下边距设置为 10px,但现在似乎在 14px 左右。
猜你喜欢
  • 2014-06-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-22
  • 2014-04-04
相关资源
最近更新 更多