css - 在 ie11 的 flex 容器上显示 :before 元素
问题描述
我有一个带有几个孩子的 flex 容器,我需要打开一个 before 元素。如果父容器是,则 before 元素显示,如果是display: block
,则不显示display: flex
!有解决方法吗?
:before 不起作用,但子容器样式很好:
<div class="parent">
<div></div>
<div></div>
</div>
<style lang="scss">
.parent {
display: flex;
justify-content: space-between;
position: relative;
&:before {
content: '';
position: absolute;
top: -20px;
height: 20px;
width: 100%;
background: linear-gradient(180deg, transparent, $gray);
}
}
</style>
:before 有效,但破坏了我的子元素样式:
<div class="parent">
<div></div>
<div></div>
</div>
<style lang="scss">
.parent {
display: block;
position: relative;
&:before {
content: '';
position: absolute;
top: -20px;
height: 20px;
width: 100%;
background: linear-gradient(180deg, transparent, $gray);
}
}
</style>
解决方案
尝试margin-right:auto;
为父容器中的第一个 div 元素添加 CSS 样式。
代码如下(您可以将 CSS 样式更改为 SCSS 样式):
<div class="parent">
<div style="background-color:coral;">content 1</div>
<div style="background-color:pink;">content 2</div>
</div>
<style >
.parent {
display: flex;
display: -ms-flexbox;
justify-content: space-between;
position: relative;
}
.parent::before {
content: "";
position: absolute;
top: -20px;
height: 20px;
width: 100%;
background: linear-gradient(180deg , red, yellow);
background-color: aqua;
}
.parent div:first-child {
margin-right:auto;
}
.parent div {
width: 70px;
height: 70px;
display: block;
}
</style>
IE11 浏览器中的结果如下:
推荐阅读
- java - 是否支持使用 java 库“javers”比较功能对 SortedSet 进行更改?
- javascript - Vue - 通过 vue 组件传递 prop 数组会导致未定义的错误
- java - 在集合的每个元素上调用函数
- python - 使用 ScanOndexForward 时没有 LastEvaluatedKey
- tcp - 如何在 AWS 网络负载均衡器上保持 TCP 连接处于活动状态
- angular - this.router.navigate 返回上一页 ionic 4 app
- php - PHP 的 DateTime Format 方法是在 PHP 中增加一秒
- javascript - 全局状态和回调分配
- r - 设置数据以便在 R 中使用 Prophet()
- c# - c#getstream-io中根据自己提供的数据查找频道