2016-07-06 13 views
4

下記の図はChromeとFirefoxで動作しますが、Safariはボックスの幅を縮小しています。これはモバイルクライアントでも起こります。私はチャートコンテナのためのCSSと完全なマークアップとCSSへのコードペインを含めています。Safari 9.1.1でフレックスボックスが動作しない

https://codepen.io/juancho1/pen/akyNmp

#chart-container{ 
    width: 100%; 
    height: auto; 
    border: 1px solid #39c3ec; 
    /*display: -webkit-box;*/ 
    display: -moz-box; 
    display: -ms-flexbox; 
    display: -moz-flex; 
    display: -webkit-flex; 
    display: flex; 
    -webkit-flex-direction: row; 
    -ms-flex-direction: row; 
    flex-direction: row; 
    overflow-x: scroll !important; 
} 

私は誰かが前にこの特定の問題に遭遇している願っています。可能な解決策を探しているうちに、Safariにはflexboxに関するいくつかの問題があり、私が見たソリューションのほとんどを試してみた。それは屈曲方向に関連していてもよい。

誰かが持っている可能性のあるヒントをありがとうございます。 おかげ

+1

ありがとう@Michael_B! – Juan

答えて

11

更新

は同じくらい私がランダムになってきたupvotesを愛するように、私は私のオリジナルのポストに非常に大きなミスを犯して実現しました。デフォルトのflexの値は0 1 autoではなく、1 0 autoです。しかし、これは、flex-shrink0に設定すると、フレックスアイテムが縮小しないようにする理由の背後にある理由を追加するだけで、すべてのブラウザで縮小していない理由を説明できません。私は前にこの問題に遭遇しました

オリジナルポスト

。他のほとんどのブラウザでは、flexは自動的に1 0 autoに設定され、flex-grow: 1;flex-shrink: 0;flex-basis: auto;の略です。 flex-shrink: 0;はボックスの縮小を防ぎますが、Safariは自動的にこのプロパティを設定しません。フレックスアイテムでフレックスシュリンクを0に設定するだけで、それ以上は収縮しません。

+0

こんにちはCameron637、私はそれらのプロパティを追加しようとしましたが、それは動作しませんでした。ヒントをありがとう! – Juan

+3

私にとっては、それも当初は機能していなかった。私は '.container'をフレックスしていましたが、右側に(ChromeやFirefox、OperaではなくSafari 9.1.1では)切り捨てられていた' img 'を含む 'div'の中にあります。 'flex-shrink:0'を' img'のスタイリングに追加しても修正されませんでした。しかし 'img' _did_をラップする' div'に 'flex-shrink:0'を追加することでそれを修正しました。 – Purplejacket

+1

注:https://github.com/philipwalton/flexbugsもご覧ください。 – Purplejacket

関連する問題