2017-04-07 21 views
0

navbarのテキストリンクをアイコンの文字に変更するためにメディアクエリを使用しようとしていますが、これはdisplay:noneを利用していますが、私が現在使っているように機能しません。display:noneナビゲーションバーに影響しません

私はまた、表示クラスfa fa-homeなど

.firstnav { 
 
    display: inline; 
 
} 
 

 
.secondnav { 
 
    display: none; 
 
} 
 

 
@media only screen and (max-width: 630px) { 
 
    .firstnav { 
 
    display: none; 
 
    } 
 
    .secondnav { 
 
    display: inline; 
 
    } 
 
}
<nav class="topnav" id="myTopnav"> 
 
    <a href="#home"> 
 
    <p class="firstnav">Rob Hern</p> 
 
    <p class="secondnav poppins">RH</p> 
 
    </a> 
 
    <a href="#home"> 
 
    <p class="firstnav">Home</p> 
 
    <p class="secondnav fa fa-home"></p> 
 
    </a> 
 
    <a href="#portfolio"> 
 
    <p class="firstnav">Portfolio</p> 
 
    <p class="secondnav fa fa-code"></p> 
 
    </a> 
 
    <a href="#contact"> 
 
    <p class="firstnav">Contact</p> 
 
    <p class="secondnav fa fa-envelope-o"></p> 
 
    </a> 
 
    <a href="#about"> 
 
    <p class="firstnav">About</p> 
 
    <p class="secondnav fa fa-user"></p> 
 
    </a> 
 
</nav>

を使用してフォント恐ろしいのアイコンフォントを使用しています: Full size screen With media query size screen

ありがとうございます!

+1

あなたが提供しているコードは動作します:https://jsfiddle.net/3o62mtdg/ –

+0

ブラウザのサイズを変更してください。できます。 :) –

+0

@VincentGフォントすごいアイコンが表示されていた –

答えて

1

font-awesomeアイコンが表示されているので1つの以上の条件に

.secondnav.fa{ display:none} 
@media only screen and (max-width: 630px) { 
.secondnav.fa { 
    display: inline; 
    } 
} 

を追加しますので、あなたがあなたのp tags .secondnav class.

と直接それらを使用しているようにそれらを上書きするインラインブロック
デフォルトによってを持っています

以下は動作中のスニペットです。

.firstnav { 
 
    display: inline; 
 
} 
 

 
.secondnav { 
 
    display: none; 
 
} 
 

 
.secondnav.fa { 
 
    display: none; 
 
} 
 

 
@media only screen and (max-width: 630px) { 
 
    .firstnav { 
 
    display: none; 
 
    } 
 
    .secondnav { 
 
    display: inline; 
 
    } 
 
    .secondnav.fa { 
 
    display: inline; 
 
    } 
 
}
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" /> 
 
<nav class="topnav" id="myTopnav"> 
 
    <a href="#home"> 
 
    <p class="firstnav">Rob Hern</p> 
 
    <p class="secondnav poppins">RH</p> 
 
    </a> 
 
    <a href="#home"> 
 
    <p class="firstnav">Home</p> 
 
    <p class="secondnav fa fa-home"></p> 
 
    </a> 
 
    <a href="#portfolio"> 
 
    <p class="firstnav">Portfolio</p> 
 
    <p class="secondnav fa fa-code"></p> 
 
    </a> 
 
    <a href="#contact"> 
 
    <p class="firstnav">Contact</p> 
 
    <p class="secondnav fa fa-envelope-o"></p> 
 
    </a> 
 
    <a href="#about"> 
 
    <p class="firstnav">About</p> 
 
    <p class="secondnav fa fa-user"></p> 
 
    </a> 
 
</nav>

+0

これは私のために完璧に働いた、説明Sahilに感謝! –

+0

あなたは歓迎です:)親切に答えを受け入れ、upvote :) –

0

インラインブロックを使用しようとしましたか?

0

あなたのコードは正常に動作します。あなたはそれを見ることができますhere。垂直ハンドラで遊ぶ。そして、あなたはそれが動作するのを見るでしょう。

Note : Have you tried clearing your browser's cache? 
+0

いいえ@Ruzgarは、フォントの素晴らしいライブラリを含めてみてください..あなたは質問を理解します。 –

+0

@Sahil Dhir 私は既に行っています。左のパネルを見ると、外部リソースとして見ることができます。私がいなければ、アイコンは全く表示されませんでした。 しかし、もう1つの条件を追加するとそのトリックが行われます。それは大丈夫です。 –

関連する問題