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/
。私の作業コピーでは、それは中心から外れています。
をしていますが、どこかでスニペットを設定することができます。
ただ、これでページ全体との関係で水平にそれらを中心に?たとえば、コードをSCSSに再フォーマットしてjsfiddleに入れますか?また、 'bp-large'とは何ですか?それをきれいにすることはできますか? – Senthe
申し訳ありません! CSSに取り入れられ、フィドルが追加されました。 –