【发布时间】:2017-06-02 19:11:45
【问题描述】:
我正在尝试创建一个将元素标记为“已修改”的 CSS 类。修改后的元素由页面主体左侧边距中的垂直线表示。
我正在使用:before 伪元素,但由于我的元素没有相对位置,我似乎无法让它与父元素匹配相同的高度。
添加position:relative 将允许我匹配高度,但不对齐左侧的相对标记,因为元素可能具有填充/边距,这意味着左边距未与主体对齐。
我在这里做了一个快速的 Fiddle:https://jsfiddle.net/5k8ruahm/5/
我要问的问题可能仅使用 CSS 无法实现,但在使用 JavaScript 之前,我想我会在这里问。
【问题讨论】:
-
提交了一个答案,但不确定这是否可行,因为您说要对齐的左侧填充/边距?您没有包含任何其他内容,所以我不确定它需要对齐什么。如果我的答案不起作用,请随时让我知道原因或提供更多背景信息,我会尝试提出另一个解决方案。如果您希望它与 jsfiddle.net/5k8ruahm/2 对齐,则添加另一段,但
position: absolute似乎在这里也可以正常工作 jsfiddle.net/5k8ruahm/4 -
谢谢迈克尔。我原来的 Fiddle 没有说明问题,因为它太简单了。我添加了一个更真实的 HTML/CSS 版本并对其进行了更新:jsfiddle.net/5k8ruahm/5
-
您可以禁用
figure.modified的边距吗? jsfiddle.net/5k8ruahm/6 -
即使我这样做了,从小提琴来看,红色标记仍然没有定位在内容 div 的左边距,这是它需要的位置。
标签: css css-position pseudo-element