This is a pretty specific problem... but flexbox rules don't seem to work on psuedo selector elements when the parent is a button in mobile safari and chrome.
Here is a codepen to clearly demonstrate this: http://codepen.io/anon/pen/zKaRXY
In desktop browsers, both blocks should have a "t" in the middle. In mobile browsers, only one has this "t" in the middle.
I have literally copy and pasted the full computed styles from the "div" to the "button" and it still fails for some reason.
<div class="container">
<button class="button">
<div class="child"></div>
</button>
<div class="button">
<div class="child"></div>
</div>
</div>
.container {
width: 900px;
margin: 50px auto;
font-family: "Arial", sans-serif;
}
.button {
display: flex;
align-items: center;
justify-content: center;
height: 300px;
background: #dbe8ff;
width: 500px;
}
.child:before {
content: "t";
flex: 0 1 auto;
background: #fff09b;
}