gpt4 book ai didi

html - Chrome 和 Firefox 之间 flexbox 行为的差异

转载 作者:太空狗 更新时间:2023-10-29 13:52:16 25 4
gpt4 key购买 nike

样本可以在 http://jsfiddle.net/GGYtM/ 找到这是要求的内联代码:

<html>
<style type='text/css>
.flex{
/* old syntax */
display: -webkit-box;
display: -moz-box;

/* new syntax */
display: -webkit-flex;
display: -moz-flex;
display: -o-flex;
display: -ms-flex;
display: flex;
}

.flex-direction-horizontal{
/* old syntax */
-webkit-box-orient: horizontal;
-moz-box-orient: horizontal;

/* new syntax */
-webkit-flex-direction:raw;
-moz-flex-direction:raw;
-o-flex-direction:raw;
-ms-flex-direction:raw;
flex-direction: raw;
}
.flex-cross-align-stretch{
/* old syntax */
-webkit-box-align:stretch;
-moz-box-align:stretch;

/* new syntax */
-webkit-align-items:stretch;
-moz-align-items:stretch;
-o-align-items:stretch;
-ms-align-items:stretch;
align-items:stretch;
}
.container{
border: 1px solid gray;
padding:5px;
background:#ecd953;
-moz-border-radius: 5px;
border-radius: 5px;
}
.button{
width:70px;
height:50px;
/*margin:5px;*/
background: #1b486f;
color : white;
position:relative;
text-align:center;
padding-top:5px;
}

.wrap{
margin:5px;
}

</style>
<body>
<div class="flex flex-direction-horizontal flex-cross-align-stretch container" id='root'>
<div class="wrap">
<div id="elem2" class="button">
<span id="txt">2</span>
</div>
</div>
</div>
</body>
</html>

在 Firefox 中,“根”div 元素不会增长以适应父元素的宽度,但会占据适合内容所需的空间——这很完美。然而,在 Chrome 和 Safari 中,“根”div 元素增长到占据父容器的整个宽度。造成这种差异的原因是什么?理想情况下,我想实现 FF 行为,这是完美的。

最佳答案

你用

display: flex; 

但是,如果您不希望它增长以适应父元素的宽度,而是占据适合内容所需的空间,您应该使用

display: inline-flex;

对于较旧的浏览器,您可能需要

display: -moz-box;
display: -ms-inline-flexbox;
display: -webkit-inline-flex;
display: inline-flex;

.flex {
/* old syntax */
display: -moz-box;
display: -ms-inline-flexbox;
/* new syntax */
display: -webkit-inline-flex;
display: inline-flex;
}
.container {
border: 1px solid gray;
padding: 5px;
background: #ecd953;
-moz-border-radius: 5px;
border-radius: 5px;
}
.button {
width: 70px;
height: 50px;
background: #1b486f;
color: white;
position: relative;
text-align: center;
padding-top: 5px;
}
.wrap {
margin: 5px;
}
<div class="flex container">
<div class="wrap">
<div id="elem2" class="button">
<span id="txt">2</span>
</div>
</div>
</div>

关于html - Chrome 和 Firefox 之间 flexbox 行为的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13156965/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com