如何解决删除display:flex会在链接周围添加空格为什么?
这是因为flexBox删除inline
或inline-block
元素之间的默认空白。
.Box {
font-size:30px;
}
<div class="Box">
<a>click</a>
<a>here</a>
</div>
.Box {
font-size:30px;
}
<div class="Box">
<a>click</a><a>here</a>
</div>
或通过使div成为flexBox容器:
.Box {
display:flex;
font-size:30px;
}
<div class="Box">
<a>click</a>
<a>here</a>
</div>
如果我们检查规格:
flex容器的每个流入子元素都将成为一个flex项目,并且每个连续的子文本序列序列都被包装在一个匿名块容器flex项目中。但是, (即可能受white-space属性影响的字符) 空格(就像其文本节点显示为:none一样)。
因此,在我们的代码中,我们有两个子项和一个不带空格的空白序列。
解决方法
我创建了一个html错误页面。它有2行显示错误。第二行链接到主页。为了使两行保持在中心,我创建了一个顶层css-grid
并将网格的每一行都设为a
flex
。我注意到,如果我display:flex
用于第二行,则here
链接周围没有任何空格,但是如果删除display:flex
,该空格将被添加,即html从Clickhereto
变为Click
hereto
。
如果删除flex
属性,为什么会添加空格?
码
html
<div id="invalid-page-grid-container">
<h1 id="invalid-page-h1">Oops!</h1>
<h6 id="invalid-page-para">The Page you are looking for does not exist! Click <a [routerLink]="homepageRouterLink"> here </a> to go back to home page of the application !</h6>
</div>
CSS
#invalid-page-grid-container{
display:grid;
justify-content:center;
}
#invalid-page-h1{
display:flex;
justify-content:center;
grid-row: 1/2;
}
#invalid-page-para{
/*display:flex;*//*UNCOMMENT THIS AND YOU'LL SEE SPACE GETTING ADDED AROUND <a> of the html*/
justify-content:center;
grid-row: 2/3;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。