html - 当使用带有 flex 属性的 li 时,为什么元素不在一行中?

标签 html css flexbox

我是 css 的新手 flex 盒。

下面,我正在尝试制作我的 5 li元素在 div#master-edit-options 内部垂直和水平居中定位使用 flex 属性。

如何防止元素出现在多行上?为什么会出现这样的情况?

div#master-edit-options li {
  float: left;
  border: 1px solid #000;
  width: 20%;
  height: 62%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  margin-left: 4%;
  margin-right: 3%;
  font-size: 11px;
  background-color: #e1e1e1;
  padding-left: 9px;
  padding-right: 9px;
}

div#master-edit-options {
  height: 15%;
  width: 100%;
  border: 1px solid #000;
  background-color: yellow;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
}

ul,
li {
  margin: zero;
  padding: zero;
}
<div id="master-edit-options">
  <ul>
    <li>
      <span><img src="img/Save.gif"></span>
      <span>SAVE</span>
    </li>
    <li>
      <span><img src="img/Print.gif"></span>
      <span>PRINT</span>
    </li>
    <li>
      <span><img src="img/Delete.gif"></span>
      <span>DELETE</span>
    </li>
    <li>
      <span><img src="img/Clear.png"></span>
      <span>CLEAR</span>
    </li>
    <li>
      <span><img src="img/Close.gif"></span>
      <span>CLOSE</span>
    </li>
  </ul>
</div>

最佳答案

display:flex; 放在 ul 上,因为它是实际容器而不是 div

关于 Flex 的好读物:https://css-tricks.com/snippets/css/a-guide-to-flexbox/

关于html - 当使用带有 flex 属性的 li 时,为什么元素不在一行中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50333935/

相关文章:

javascript - 如何更改 HTML 标签颜色,如 h1、h2、p 等,但保持某些 h1、h2 标签不变?

html - CSS 过渡的视差效果

溢出/滚动指示器的纯 CSS 解决方案

html - flex 媒体查询 : left-right to top-down

html - 如何让渐变在 Firefox 中工作

javascript - 单击<p> </p>标签之间的图像(html5代码)时如何播放mp3

javascript - AngularJS 外部 javascript 库不运行

css - 如何删除css中的element.style

html - CSS-ReactJS 元素可见时的动画

html - flex-basis 与 flex-grow 结合起来到底是如何工作的?