内联元素的轮廓不可见

问题描述 投票:0回答:1

我有一个锚标签。我已经给出了这个锚标记的轮廓。但除非锚标记有

display: flex
,否则此轮廓不可见。

在下面的示例中,有两个锚标记。第一个没有弹性容器,但第二个有。您可以看到第一个锚标记的轮廓不可见,但第二个锚标记的轮廓可见。

为什么会这样?

.link {
  outline: 2px solid #000;
}
.link.flex {
  display: flex;
}
.content {
  padding: 20px;
  border: 1px solid #ff2121;
}
<a class="link" href="">
    <div class="content">
    <h4>This doesnot have a flex container</h4>
    </div>
</a>
<a class="link flex" href="">
    <div class="content">
    <h4>This has a flex container</h4>
    </div>
</a>

html css flexbox
1个回答
0
投票

轮廓不会显示在第一个

<a>
标签上,因为
<a>
标签默认是内联的,这意味着它们只占用与其内容一样多的空间。当您将较大的块元素(例如
<div>
)放入内联
<a>
内时,轮廓不会正确环绕它。在
display: flex
标签上设置
<a>
通过使其表现得像块元素来修复此问题,从而允许轮廓覆盖整个内容。

© www.soinside.com 2019 - 2024. All rights reserved.