The sample can be found at http://jsfiddle.net/GGYtM/ and here is inline code as requested:
<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>
In firefox the "root" div element does not grow to fit width of the parent element but occupies the room needed to fit the content - that's perfect. However in Chrome and Safari the "root" div element grows to occupy the whole width of the parent container. What's the reason of this difference? Ideally I would like to achieve FF behavior, it's perfect.
You use
display: flex;
However, if you want it not to grow to fit width of the parent element, but occupy the room needed to fit the content, you should use
display: inline-flex;
For older browsers, you may need
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>
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.