2016-03-31 5 views
0

BootstrapとSafariで問題が発生しました。パーセンテージオフセットで相対div内にfixed divを表示する[SAFARI bug]

私は固定されたdivをその親に対して配置したいと思っています。それはSafariを除くすべてのブラウザで動作します。

同じ問題がここで説明されています https://github.com/lionheart/openradar-mirror/issues/147

は今、私は良い回避策を見つけることを試みる:

オリジナルコード(Safariでは動作しません)

<div class="row"> 
    <div class="col-md-8 col-md-push-4"> 
     <div class="fixed-div">SOME FIXED CONTENT</div> 
     CONTENT A 
    </div> 
    <div class="col-md-4 col-md-pull-8"> 
     CONTENT B 
    </div> 
</div> 

CSS:

.fixed-div{ 
    position:fixed; 
} 

これはexとしては機能しませんSafariで告発された"fixed-div"は親のように "プッシュ"されません。 「コンテンツA」の上に表示されます。

私は解決策を見つけたが、私は、これはクリーンなものではないと思う:

<div class="row"> 
    <div class="col-md-4"> 
    </div> 
    <div class="col-md-8"> 
     <div class="fixed-div">SOME FIXED CONTENT</div> 
    </div> 
    <div class="clearfix"></div> 

    <div class="col-md-8 col-md-push-4"> 
     CONTENT A 
    </div> 
    <div class="col-md-4 col-md-pull-8"> 
     CONTENT B 
    </div> 
</div> 

あなたはこの問題を解決する方法をいくつかのより良いアイデアを持っていますか?

+0

固定小数点はビューポートに関連して固定されていますが、絶対に固定したくないと思います。 –

+0

本当に私はそれを固定したい(スクロール時も)が、親divと同じ位置から始めたい。 Safariを除くすべてのブラウザで動作します。 「col-XX-push-YY」がないとSafariは「期待どおり」に動作します(Safariは左のパーセントオフセットを無視します) – warch

答えて

0

fixedからabsoluteにCSSプロパティに切り替えてみてください。それでも問題が解決しない場合は、HTML内でカスタムチェックを追加して、ユーザーがどのブラウザから来ているかを確認し、その特定のCSSページHow to use different CSS for Different Browsersを読み込むことができます。

+0

あなたのお返事ありがとうございます。 スクロールするときにも固定したいので、絶対位置が私のニーズに合わない。 私はサファリで期待どおりの結果を得るために動作するcssを見つけられなかったので、別のCSSを使用しても動作しません。 – warch

+0

SafariでGithubの問題のjsfiddleに提供したリンクを実行しました。 '.fixed-div'のZ-インデックスを調整しようとしましたか? – jdave

関連する問題