2017-03-01 4 views
0

Firefoxでdivを水平にフレックスボックスに合わせる際に問題があります。 Chromeでは問題なく動作します。フレックスボックス:位置合わせでセンターが機能しない:Firefoxで固定

これはコードです:

<header id="header"> 
    <p class="small-hidden">I am</p> 
    <h1>Håkan</h1> 
    <p>web designer from Sweden, living in the Basque Country, Spain</p> 
    <div class="contact-icons"> 
     <a href="#.com"><i class="mi mi-Mail"></i></a> 
     <a href="#"><i class="mi mi-whatsapp"></i></a> 
     <a href="#contact"><i class="mi mi-PenPalette"></i></a> 
    </div> 
</header>  
-------------------------------------------------------------------------- 

header { 
    background-image: url(../img/hakan_mobile.jpg); 
    background-size: cover; 
    height: 70vh; 
    display: flex; 
    flex-direction: column; 
    justify-content: flex-end; 
    align-items: center; 
    color: #777; 
    } 
@media only screen and (min-width: 40em) { 
    header { 
    background-image: url(../img/hakan.jpg); 
    height: 100vh; 
    width: 40vw; 
    position: fixed; 
    background-position: center; 
    justify-content: center; 
    } 
    } 
.contact-icons { 
    position: fixed; 
    top: 0; 
    } 
@media only screen and (min-width: 40em) { 
    .contact-icons { 
    bottom: 2rem; 
    top: inherit; 
    } 
    } 

私は何をしたいことは、ヘッダの下部にテキスト(P + H1 + P)を配置し、リンクがに集中して固定する必要があります小さな画面では画面上部、大きな画面では下部に中央に表示されます。しかし、position: fixed(モバイル上でスクロールするときに画面の上部にリンクを表示するのに必要です)を使用すると、.contact-iconsは水平に中央になりません。私がposition: fixedを取り除いても機能します。

私はalign-items: centerをコンテナに、align-self: center.contact-iconsに試しましたが、同じ結果が得られました。

Chromeはうまく動作しますが、Firefoxで動作させることはできません。助言がありますか?

フィドル:それはほとんど中央に見えますが、それでもないフィドルでhttps://jsfiddle.net/1qrqxd7m/

。私の作業コピーでは、それは中心から外れています。

+0

をしていますが、どこかでスニペットを設定することができます。

ただ、これでページ全体との関係で水平にそれらを中心に?たとえば、コードをSCSSに再フォーマットしてjsfiddleに入れますか?また、 'bp-large'とは何ですか?それをきれいにすることはできますか? – Senthe

+0

申し訳ありません! CSSに取り入れられ、フィドルが追加されました。 –

答えて

0

多分、Firefox用に特別な機能を試してみてください。 "position:sticky;"

+0

ありがとうございますが、役に立たない... –

+0

@Håkanhttps://jsfiddle.net/1qrqxd7m/クロムとファイアフォックスで同じように見えます( – grinmax

+0

はい、それは実現しました今は...しかし、それはまだ良いことではありません作業中のプロジェクトです。おそらく別のものが矛盾しています... –

0

position: fixedを使用しているため、フレックスコンテナのスタイルは実際には.contact-iconsの配置に影響するとは考えられません。私はglady役立つだろう

position: fixed 
left: 50% 
transform: translateX(-50%) 
+0

私の悪い...ヘッダーは大画面(40vw)では全幅ではなく、これを使用すると '。また、小さいサイズでは '.contact-icons'のアイコンは50%から始まり、ontopをスタックします。 –

+0

40vwの場合は' left:20vw'をオンにしてください。 contact-icons。このスニペットは普遍的なもので、すべての場合、親コンテナの半分に 'left'を設定してから' transform:translateX(-50%) '"と同じように使用できます。 – Senthe

+0

想像通りに動作しません...それは中心にないが、 '.contact-icons'コンテナは50%から始まる。 –

関連する問題