css - &::before 伪元素未正确对齐 - CSS(3) 盒模型 - LESS

标签 css layout alignment less pseudo-element

我正在尝试使用 &::before 伪元素添加图像,并通过调整填充/边距将其放置在父元素之上。我无法将 img 放在其父元素的“顶部”。它驻留在 parent 的盒子里。我尝试将这两个元素都设置为 display:block。我试图使用相对/绝对定位。我在没有解决方案的情况下调整了边距/填充。

HTML:

<div class="foo">
   <div class="title">title</div>
   <div class="body">text</div>
</div>

更少/CSS:

.foo {
  display:block;
  padding: 1em;

  &:before {
    background-image: url("bar.svg");
    padding: .25in;  
    background-repeat: no-repeat;
    background-position: top left;
    background-position: top outside;
    background-color: white;
    content: "";
    display: block;
    max-width: (@column + .45in);    
    margin-left: -.15in;
    margin-top:-.5in;
  }
}

我希望调整伪元素的边距值会产生预期的结果。然而,这种情况并非如此。有没有我不知道的限制?

感谢您的宝贵时间和帮助。

最佳答案

首先,我假设“在顶部”是指显示在 .foo 元素“之前”。我假设基于您正在尝试使用您的代码执行的操作。通常,我会将“在顶部”解释为更高的 z-index 并与元素重叠,但我认为这不是您要问的。

其次,除非我不熟悉某些东西(绝对有可能),否则background-position 没有outside 关键字;因此,这似乎是一个错误(尽管我不认为它会导致您遇到的问题)。

第三,我认为您的基本前提应该有效This fiddle demonstrates a shifting of the :before element to be "before" its .foo parent .可能是您混合使用 em 单位和 in 单位导致了一些问题。这不是确保您获得所需定位的好方法。我会将您的单位保留在 em 中。

关于css - &::before 伪元素未正确对齐 - CSS(3) 盒模型 - LESS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13104255/

相关文章:

angularjs - 自定义模态面板大小 Ui Bootstrap

javascript - 从左侧和右侧计算溢出的列表项。 (不是顶部/底部)

java - 哪个布局管理器适合我的设计?

Xcode 4.2 重置默认布局

javascript - DIV-定位错误

html - CSS 大小/性能?

css - Bootstrap - 调整特定列的大小

android - Android 中的 Z 索引?

c - 计算 C 中结构的大小(数据对齐问题)

css - 在单独的 float div 中垂直对齐 P 元素