html - 带有 flexbox 和伪元素的摘要无法在 Safari 中显示内联
问题描述
在 Safari 14 中,我的示例如下所示
但是,如果您使用 Chrome 87 例如,它会显示如下
我还没有发现这是否是一个已知问题?如果是,是否有任何建议的解决方法?
summary::-webkit-details-marker {
display: none
}
details {
width: 300px;
}
summary {
display: -webkit-flex;
display: flex;
-webkit-justify-content: space-between;
justify-content: space-between;
outline: solid 4px #000;
align-items: baseline;
}
summary::after {
content: "";
}
<details>
<summary>Hello</summary>
</details>
解决方案
问题
某些 HTML 元素,如和<summary>
,不能用作弹性容器。浏览器对这些元素 UI 的默认呈现与 display: flex 声明冲突。<fieldset>
<button>
解决方法
这个问题的简单解决方案是使用一个包装器元素,它可以是一个 flex 容器(如 a <span>
),直接位于不能的元素内部。
推荐阅读
- flutter - Flutter:Dismissible 小部件禁用 Tabview 拖动检测
- asp.net-core-2.1 - 使用带有 asp.net core 2.1 身份的 mongodb
- javascript - 例如,php 将 11 视为 1
- python - 尝试生成 5 个随机项目,有时会生成 4 个
- matlab - Runge-Kutta 数值方法错误逼近
- forms - wiget中的验证表
- c# - 当玩家与岩石下方的触发盒碰撞时,如何让岩石掉落
- express - 在 nuxt 和 express 应用程序中包含 api 路由(使用 create-nuxt-app)
- r - 如何在 HP-UX 环境中安装 R
- vba - VBA - Office 365 x64 位 - 完全崩溃