我有一个.nav-bar元素,它是一个具有属性的子元素

display:flex; 
justify-content:space-evenly

当我设置header元素(它是属性的父元素)时,.nav-bar元素的子项往往会聚集在一起.

display:flex; 
justify-content:space-between;

但是,从标题中删除Display属性似乎部分解决了这个问题. 此外,在使用.nav-bar元素中的Gap属性时,子项之间的间隔似乎也很好.这是为什么?

<!----CSS--FILE---->
    header {
      display: flex;
      align-items: center;
      justify-content: space-between;
    }

    .nav-bar {
      list-style: none;
      display: flex;
      gap: 3rem;
    }

<!--javascript-file-->

    <header>
      <img src="https://picsum.photos/id/237/200/300" width="40px" />
      
      <ul className="nav-bar">
        <li><a href="#">Home</a></li>
        <li><a href="#">Services</a></li>
        <li><a href="#">About</a></li>
        <li><a href="#">Contact</a></li>
      </ul>
    </header>

<!-- end snippet -->

推荐答案

您需要在您的HTML中用类替换类名称.你仍然可以在你的导航栏中均匀地使用空格.(你也可以给你的.nav-bar设置一个宽度:100%,让它们覆盖整个可用空间)

header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.nav-bar {
  width:100%;
  list-style: none;
  display: flex;
  flex-direction: row;
  justify-content: space-evenly;
  gap: 3rem;
}
<header>
  <img src="https://picsum.photos/id/237/200/300" width="40px" />
  
  <ul class="nav-bar">
    <li><a href="#">Home</a></li>
    <li><a href="#">Services</a></li>
    <li><a href="#">About</a></li>
    <li><a href="#">Contact</a></li>
  </ul>
</header>

Html相关问答推荐

html中背景色的全单元格R中的Rmarkdown表

仅在加载视频时显示描述(<;Video>;标签)

根据屏幕大小拆分长行列表

旧文本淡出,但新文本不会淡入,而是突然出现

使用CSS和Slick Carcass使图像适合屏幕

列表项文本在占据剩余空间之前在标记下换行

柔性盒内的物品;t覆盖整个宽度,即使设置为100%

根据Tailwind CSS中的子计数而非子宽度进行对齐,并水平对齐

如何在 Bootstrap 5 中将两个导航栏元素放在末尾?

为什么带有截断的 contentedible div 在受约束时会在 Chrome 中添加空格

网格项未在同一行上对齐

如何在悬停时使用 CSS 更改许多同级元素

在屏幕上每行 css 中的特定列居中

是否有语义 HTML 可以澄清含义?

伪元素:after和溢出隐藏

如何在CSS伪类函数中使用复合 Select 器:host-context()

将图像高度调整到容器 div 中而不使其高度增加

绝对定位的 div 与另一个静态定位的 div 的边距顶部一起移动

我可以将两个元素之间的所有空间都放在弹性框或网格中吗?

如何阻止网格项目拉伸?