【问题标题】:Flexbox doesn't work in summary tagFlexbox 在摘要标签中不起作用
【发布时间】:2017-03-05 13:26:59
【问题描述】:

我有这支笔,布局是浮动的,但是当我尝试对布局下方的一个容器进行 flexbox 时,flexbox 不起作用。我知道这是由浮动引起的,但是找不到修复它的方法。尝试使用 clearfix 但它不起作用。

我要调整的项目在摘要标签中。


代码片段:

summary {
  clear: both;
  padding: 20px;
  background: white;
  display: flex;
}
summary p {
  width: 33%;
  display: inline-block;
  background: pink;
  margin: 0px;
  padding-right: 20px;
}
<summary class="clearfix">
  <p>Integer eget mauris et urna pulvinar consectetur hendrerit eget mauris. Praesent a interdum justo. Aenean ac diam nec neque fringilla cursus. Donec iaculis tortor in nunc vehicula rutrum. Integer malesuada mollis ligula at varius.</p>
  <p>Integer eget mauris et urna pulvinar consectetur hendrerit eget mauris. Praesent a interdum justo. Aenean ac diam nec neque fringilla cursus. Donec iaculis tortor in nunc vehicula rutrum. Integer malesuada mollis ligula at varius.</p>
  <p>Integer eget mauris et urna pulvinar consectetur hendrerit eget mauris. Praesent a interdum justo. Aenean ac diam nec neque fringilla cursus. Donec iaculis tortor in nunc vehicula rutrum. Integer malesuada mollis ligula at varius.</p>
</summary>

CodePen

【问题讨论】:

  • clear 和 floats 对 flex-box 没有影响
  • 您希望您的摘要看起来如何?
  • 对不起,忘了说,p标签应该排成一行
  • 表示每个 p 标签是这样的一行 [codepen.io/tjbaezid/pen/EgAwxV] 或者想看到这些 p 标签像 3 列一样排列成一行??
  • 您在问题中发布了一个无用的 CSS 声明,并链接了一大堆代码。您必须在问题本身中发布minimal reproducible example

标签: html css flexbox


【解决方案1】:

问题是您在summary 标签中使用了flexbox,它不是结构标签。 summarydetails 元素内使用。考虑为此使用适当的语义标签,如articlesection,它会起作用。


代码片段:

summary,
article {
  display: flex;
}
p::before {
  content: "Paragraph.";
}
details > summary {
  display: block;
}
<summary>
  <p></p>
  <p></p>
  <p></p>
</summary>

<article>
  <p></p>
  <p></p>
  <p></p>
</article>

<details>
  <summary>Proper Usage</summary>
  <p></p>
</details>

【讨论】:

    【解决方案2】:

    将样式更改为此类

    #wrapper {
      width: 90%;
      margin:auto;
      padding: 0 20px 0 20px;
      margin-bottom:20px;
    display:flex;
    flex-direction:column
    }
    

    并在摘要中删除 clear 和 display:flex 一切都会按预期进行

    检查这个小提琴https://codepen.io/sahithiK/pen/LRqjoR?editors=1100

    希望对你有帮助

    【讨论】:

    • 我设法使用带有 p 标签的 inline-block 实现了相同的效果。 Ricky_Ruiz 提到更改摘要标签本身并且它有效。不过感谢您的帮助
    猜你喜欢
    • 2021-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-21
    • 2018-04-16
    • 1970-01-01
    相关资源
    最近更新 更多