下面代码中提到的 flex 行为不适用于 MS edge 中的边框框

杰克·德金

第一个 div 中给出的 flex 应该重新调整内容的大小以适应大小。这种行为在 Chrome 中是正确的。因为 Edge 的行为方式不同。我读过一些帖子提到 flexbox 不能很好地与边框框配合使用。但在那种情况下,Chrome 也应该以与 Edge 相同的方式运行。

#notificationNameAnnex
{
    height: 35px;
    display: flex;
    flex-direction: row;
    width: calc(100% - 116px);
}
#markAsNotificationButtons
{
    font-size: 11px;
    background-color: #30b4f4;
    border: 1px solid #1a99d6;
    height: 20px;
    padding: 2px;
    line-height: 16px;
    padding-left: 5px;
    padding-right: 5px;
    padding-top: 2px;
    margin-left: 5px;
    cursor: pointer;
    border-radius: 5px;
    color:white;
}

*
{
    box-sizing: border-box;
}

.outerdiv
{
	width: 440px;
	height: 80px;  
	overflow: hidden; 
	border: 1px solid red; 
	background-color: #f9f3ff; 
	top: 0px; 
	font-family: roboto; 
	letter-spacing: 0.75px; 
	display: flex; 
	flex-direction: column; 
}

.innerdiv
{
	width: 400px; 
	height: 65px;  
	position: relative; 
	padding: 6px; 
	padding-top: 3px; 
	display: flex; 
	flex-direction: column; 
	justify-content: space-between; 
	background-color: #e5dbfd; 
	font-size: 10px; 
	color: #490181;
	border: 1px solid #d3c7ef; 
	border-radius: 3px; 
	margin: auto; 
	text-align: center; 
	margin-top: 2px;
}
<!DOCTYPE html>
<html>
<head>
<style>
#notificationNameAnnex
{
    height: 35px;
    display: flex;
    flex-direction: row;
    width: calc(100% - 116px);
}
#markAsNotificationButtons
{
    font-size: 11px;
    background-color: #30b4f4;
    border: 1px solid #1a99d6;
    height: 20px;
    padding: 2px;
    line-height: 16px;
    padding-left: 5px;
    padding-right: 5px;
    padding-top: 2px;
    margin-left: 5px;
    cursor: pointer;
    border-radius: 5px;
    color:white;
}

*
{
    box-sizing: border-box;
}

.outerdiv
{
	width: 440px;
	height: 80px;  
	overflow: hidden; 
	border: 1px solid red; 
	background-color: #f9f3ff; 
	top: 0px; 
	font-family: roboto; 
	letter-spacing: 0.75px; 
	display: flex; 
	flex-direction: column; 
}

.innerdiv
{
	width: 400px; 
	height: 65px;  
	position: relative; 
	padding: 6px; 
	padding-top: 3px; 
	display: flex; 
	flex-direction: column; 
	justify-content: space-between; 
	background-color: #e5dbfd; 
	font-size: 10px; 
	color: #490181;
	border: 1px solid #d3c7ef; 
	border-radius: 3px; 
	margin: auto; 
	text-align: center; 
	margin-top: 2px;
}
</style>
</head>
<body>

<div class="outerdiv">
        <div class="innerdiv" >
            <div style="position: absolute;z-index: 1;right: 5px;color: #9683bd;cursor: pointer;top:-5px;font-size:12px;" title="Close" >&Cross;</div>
            <div style="line-height: 12px;font-size: 10px;color:#490181;margin: auto;width: 360px;">
                This div is bigger (width is also 300px and height is 100px)This div is bigger (width is also 300px and height is 100px)
            </div>
            <div style="display: flex;margin-top: 5px; ">
                <div style="width: 116px;font-size: 10px;font-weight:medium;height: 20px;">Give a name for feed</div>
                    <div id="notificationNameAnnex">
                        <div style="display: flex;flex-direction: column;width: 210px;">
                            <input type="text" placeholder="Give feed name" style="margin-bottom: 0;font-size: 11px;"/>
                        </div>
                        <div id="markAsNotificationButtons">
                            <div>Confirm</div>
                        </div>
                    </div>
                </div>
            </div>
            <div style="font-size: 10px; color: #818181; margin: auto; line-height: 20px; display: block;">
                Note: This div is bigger (width is also 300px and height is 100px).
            </div>
        </div>
    </div>
</body>
</html>

一个儿子

默认情况下,Flex 项目不会小于其内容,因为其min-height默认为auto

Chrome 仍然会缩小您的样本,Firefox/Edge 不会,恕我直言,Chrome 在这里是错误的。

innerdiv是65px高+ 2px的上边距,和它的同胞底部div,大约是20像素(line-height),这使得他们对高87px,并不会当然适合在其父是80px。

通过添加min-height: 0innerdiv解决跨浏览器的问题,让它缩小。

堆栈片段

#notificationNameAnnex {
  height: 35px;
  display: flex;
  flex-direction: row;
  width: calc(100% - 116px);
}

#markAsNotificationButtons {
  font-size: 11px;
  background-color: #30b4f4;
  border: 1px solid #1a99d6;
  height: 20px;
  padding: 2px;
  line-height: 16px;
  padding-left: 5px;
  padding-right: 5px;
  padding-top: 2px;
  margin-left: 5px;
  cursor: pointer;
  border-radius: 5px;
  color: white;
}

* {
  box-sizing: border-box;
}

.outerdiv {
  width: 440px;
  height: 80px;
  overflow: hidden;
  border: 1px solid red;
  background-color: #f9f3ff;
  top: 0px;
  font-family: roboto;
  letter-spacing: 0.75px;
  display: flex;
  flex-direction: column;
}

.innerdiv {
  width: 400px;
  height: 65px;
  position: relative;
  padding: 6px;
  padding-top: 3px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background-color: #e5dbfd;
  font-size: 10px;
  color: #490181;
  border: 1px solid #d3c7ef;
  border-radius: 3px;
  margin: auto;
  text-align: center;
  margin-top: 2px;
  min-height: 0;                 /*  added  */
}
<div class="outerdiv">
  <div class="innerdiv">
    <div style="position: absolute;z-index: 1;right: 5px;color: #9683bd;cursor: pointer;top:-5px;font-size:12px;" title="Close">&Cross;</div>
    <div style="line-height: 12px;font-size: 10px;color:#490181;margin: auto;width: 360px;">
      This div is bigger (width is also 300px and height is 100px)This div is bigger (width is also 300px and height is 100px)
    </div>
    <div style="display: flex;margin-top: 5px; ">
      <div style="width: 116px;font-size: 10px;font-weight:medium;height: 20px;">Give a name for feed</div>
      <div id="notificationNameAnnex">
        <div style="display: flex;flex-direction: column;width: 210px;">
          <input type="text" placeholder="Give feed name" style="margin-bottom: 0;font-size: 11px;" />
        </div>
        <div id="markAsNotificationButtons">
          <div>Confirm</div>
        </div>
      </div>
    </div>
  </div>
  <div style="font-size: 10px; color: #818181; margin: auto; line-height: 20px; display: block;">
    Note: This div is bigger (width is also 300px and height is 100px).
  </div>
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

CSS模糊滤镜不适用于MS Edge中的某些伪元素

来自分类Dev

Bootstrap col- *中的IE / MS Edge链接不适用于页面加载

来自分类Dev

Bootstrap Affix不适用于IE,Chrome或MS Edge

来自分类Dev

SVG 矩形高度设置不适用于 FireFox 和 Ms Edge

来自分类Dev

MS Word 2007中的拼写检查器适用于某些语言,但不适用于其他语言

来自分类Dev

代码适用于图像,但不适用于Codeigniter中的其他文件

来自分类Dev

最小宽度不适用于Chrome或Edge中的CSS网格

来自分类Dev

AjaxControlToolkit LineChart不适用于IE11或Edge中的3个值

来自分类Dev

弹出框适合 Chrome 中的内容宽度,但不适用于 Edge

来自分类Dev

为什么flex-end不适用于列表中的最后一项?

来自分类Dev

拖动行为不适用于ItemsControl中的项目:MouseDragElementBehavior

来自分类Dev

在MS Access中更新记录不适用于SQL语法

来自分类Dev

MS Access插入选择中不适用于vba

来自分类Dev

更新MS Access中的记录不适用于SQL语法

来自分类Dev

为什么“this”关键字不适用于我下面代码中的类中的静态方法?

来自分类Dev

toFixed方法不适用于用户输入,但适用于javascript中的其他var,包括代码段

来自分类Dev

最后一个类型不适用于IE11和Edge中的自定义元素

来自分类Dev

为什么文本溢出:省略号不适用于 Firefox 中的 display: inline-flex?

来自分类Dev

适用于图形对象中的edge_connectivity

来自分类Dev

转换延迟不适用于边框

来自分类Dev

Javascript提取不适用于Edge上的URLsearchparams

来自分类Dev

okta - 不适用于 Edge 和 IE 的生产环境

来自分类Dev

VueJs 3 + Vuetify:不适用于 IE 和 Edge

来自分类Dev

显示:flex; 不适用于iPad(Chrome和Safari)

来自分类Dev

Flex令牌不适用于char *哈希表

来自分类Dev

Z索引不适用于Flex元素的:hover

来自分类Dev

Flex令牌不适用于char *哈希表

来自分类Dev

宽度转换不适用于 flex 显示

来自分类Dev

CSS 过渡宽度不适用于 flex

Related 相关文章

  1. 1

    CSS模糊滤镜不适用于MS Edge中的某些伪元素

  2. 2

    Bootstrap col- *中的IE / MS Edge链接不适用于页面加载

  3. 3

    Bootstrap Affix不适用于IE,Chrome或MS Edge

  4. 4

    SVG 矩形高度设置不适用于 FireFox 和 Ms Edge

  5. 5

    MS Word 2007中的拼写检查器适用于某些语言,但不适用于其他语言

  6. 6

    代码适用于图像,但不适用于Codeigniter中的其他文件

  7. 7

    最小宽度不适用于Chrome或Edge中的CSS网格

  8. 8

    AjaxControlToolkit LineChart不适用于IE11或Edge中的3个值

  9. 9

    弹出框适合 Chrome 中的内容宽度,但不适用于 Edge

  10. 10

    为什么flex-end不适用于列表中的最后一项?

  11. 11

    拖动行为不适用于ItemsControl中的项目:MouseDragElementBehavior

  12. 12

    在MS Access中更新记录不适用于SQL语法

  13. 13

    MS Access插入选择中不适用于vba

  14. 14

    更新MS Access中的记录不适用于SQL语法

  15. 15

    为什么“this”关键字不适用于我下面代码中的类中的静态方法?

  16. 16

    toFixed方法不适用于用户输入,但适用于javascript中的其他var,包括代码段

  17. 17

    最后一个类型不适用于IE11和Edge中的自定义元素

  18. 18

    为什么文本溢出:省略号不适用于 Firefox 中的 display: inline-flex?

  19. 19

    适用于图形对象中的edge_connectivity

  20. 20

    转换延迟不适用于边框

  21. 21

    Javascript提取不适用于Edge上的URLsearchparams

  22. 22

    okta - 不适用于 Edge 和 IE 的生产环境

  23. 23

    VueJs 3 + Vuetify:不适用于 IE 和 Edge

  24. 24

    显示:flex; 不适用于iPad(Chrome和Safari)

  25. 25

    Flex令牌不适用于char *哈希表

  26. 26

    Z索引不适用于Flex元素的:hover

  27. 27

    Flex令牌不适用于char *哈希表

  28. 28

    宽度转换不适用于 flex 显示

  29. 29

    CSS 过渡宽度不适用于 flex

热门标签

归档