2017-11-17 8 views
0

私はこの問題の解決策を探しています:私は垂直ナビゲーションを持っています。異なるIDでサイズを変更してください。今、私はそれらにホバー効果が必要です。しかし、アイコンのサイズが違うので、ホバリング・ドスケンが私のナビゲーション・ボーダーに合っていました。私は彼らがこのようにふるまうようにしたい:https://www.w3schools.com/w3css/tryw3css_templates_dark_portfolio.htm 誰かがこれで私を助けることができますか? すべてのアイコンが異なるサイズを持っているので、ホバー・ドスンがフィットします

<nav class="hidden-mobile" id="menue"> 
    <div class="navItem"> 
    <img src="./img/home_website.png" class="icon" class="current" id="homeicon"><br> 
    <a class="icontitle" href="./fotowand.html">HOME</a> 
    <div class="after"></div> 
</div> 
    <div class="navItem"> 
    <img src="./img/studieninteressierte.png"class="icon"><br> 
    <a class="icontitle" href="">STUDIEN-<br>INTERESSIERTE</a> 
    <div class="after"></div> 
</div> 
    <div class="navItem"> 
    <img src="./img/studierende.png" class="icon" id="studierendeicon"><br> 
    <a class="icontitle" href="">STUDIERENDE</a> 
    <div class="after"></div> 
</div> 
<div class="navItem"> 
    <img src="./img/unternehmen.png" class="icon" id="unternehmenicon"><br> 
    <a class="icontitle" href="">UNTERNEHMEN</a> 
    <div class="after"></div> 
</div> 
    <div class="navItem"> 
    <img src="./img/kontakt.png" class="icon"><br> 
    <a class="icontitle" href="">KONTAKT</a> 
    <div class="after"></div> 
</div> 
</nav> 

この

.navItem { 
    text-align: center; 
    display: inline-block; 
    position: relative; 
    margin-right: 1em; 
    margin-bottom: 1em; 
} 

.icon { 
    width:80px; 
} 

.after { 
    position: absolute; 
    top: 0; 
    left: 0; 
    width:200px; 
    height: 100px; 
    display: none; 
    text-align: center; 

    color: white; 

} 

.navItem:hover .after { 
background-color: rgba(0, 0, 0, .6); 
display: block; 
left:0px; 
} 

Navigation Screenshot

Navigation Screenshot

+0

'幅設定してみてください:100%;高さ:100%; '' afterafter '要素で。また、 ':before'と':after'疑似要素については、(https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-elements)を読んでください。 – fen1x

+0

迅速なサポートをありがとう。私は幅を試しました: '' 100%;高さ:100%; '私が言ったように、アイコンのサイズは同じではないので、ホバーもすべてのアイコン上で同じサイズではありません。 – lceli

答えて

0
<div class="navItem" id="studierendeicon"> 
    <a class="icontitle" href="" >STUDIERENDE</a> 
    <div class="after"></div> 
</div> 

#studierendeicon{ 
background-image: url('./img/studierende.png') 
background-position: center center; //change on needs 
} 
.navItem{ 
width: 80px; 
} 

はそれが

+0

ありがとうございました!あなたのコードのスクリーンショットを掲載しました。それは私の問題を解決しません。 – lceli

+0

私は自分のコードを編集しようとしています。ソリューションに追加しようとしました。何が起こるかを確認してください。 –

+0

この場合、ホバーのdosn'tは私のすべてのアイコンタイトルをカバーしています。彼らはナビゲーションボックスの幅の100%を取るようにしたい – lceli

0

はこれを試してみてください動作するかどうか、私に教えてください私のCSSです:

  1. afterクラスを指定した幅と高さを削除する必要があります。

  2. :hovernavItemに直接指定することができます。

添付された作業コピー。

.navItem { 
 
    text-align: center; 
 
    display: inline-block; 
 
    position: relative; 
 
    margin-right: 1em; 
 
    margin-bottom: 1em; 
 
} 
 

 
.icon { 
 
    width:80px; 
 
} 
 

 
.after { 
 
    position: absolute; 
 
    top: 0; 
 
    left: 0; 
 
    
 
    display: none; 
 
    text-align: center; 
 

 
    color: white; 
 

 
} 
 

 

 
.navItem:hover { 
 
    background: rgba(0, 0, 0, .6); 
 
}
<nav class="hidden-mobile" id="menue"> 
 
    <div class="navItem"> 
 
    <img src="./img/home_website.png" class="icon" class="current" id="homeicon"><br> 
 
    <a class="icontitle" href="./fotowand.html">HOME</a> 
 
    <div class="after"></div> 
 
</div> 
 
    <div class="navItem"> 
 
    <img src="./img/studieninteressierte.png"class="icon"><br> 
 
    <a class="icontitle" href="">STUDIEN-<br>INTERESSIERTE</a> 
 
    <div class="after"></div> 
 
</div> 
 
    <div class="navItem"> 
 
    <img src="./img/studierende.png" class="icon" id="studierendeicon"><br> 
 
    <a class="icontitle" href="">STUDIERENDE</a> 
 
    <div class="after"></div> 
 
</div> 
 
<div class="navItem"> 
 
    <img src="./img/unternehmen.png" class="icon" id="unternehmenicon"><br> 
 
    <a class="icontitle" href="">UNTERNEHMEN</a> 
 
    <div class="after"></div> 
 
</div> 
 
    <div class="navItem"> 
 
    <img src="./img/kontakt.png" class="icon"><br> 
 
    <a class="icontitle" href="">KONTAKT</a> 
 
    <div class="after"></div> 
 
</div> 
 
</nav>

私は、これはあなたに役立つことを願っています。がんばろう!

+0

ありがとうございます! :)私は私の質問でいくつかのスクリーンショットを追加し、私はあなたのコードを使用していますが、それは問題を修正dosnt。 – lceli

0

ホバーにトランスフォームエフェクトを適用できます。

.navItem:hover{ 
    transform: scale(2); 
} 

.navItem { 
 
    text-align: center; 
 
    display: inline-block; 
 
    position: relative; 
 
    margin-right: 1em; 
 
    margin-bottom: 1em; 
 
    transition: all 500ms ease; 
 
} 
 

 
.icon { 
 
    width:80px; 
 
} 
 

 
.after { 
 
    position: absolute; 
 
    top: 0; 
 
    left: 0; 
 
    
 
    display: none; 
 
    text-align: center; 
 

 
    color: white; 
 

 
} 
 

 

 
.navItem:hover { 
 
    transform: scale(2); 
 
}
<nav class="hidden-mobile" id="menue"> 
 
    <div class="navItem"> 
 
    <img src="./img/home_website.png" class="icon" class="current" id="homeicon"><br> 
 
    <a class="icontitle" href="./fotowand.html">HOME</a> 
 
    <div class="after"></div> 
 
</div> 
 
    <div class="navItem"> 
 
    <img src="./img/studieninteressierte.png"class="icon"><br> 
 
    <a class="icontitle" href="">STUDIEN-<br>INTERESSIERTE</a> 
 
    <div class="after"></div> 
 
</div> 
 
    <div class="navItem"> 
 
    <img src="./img/studierende.png" class="icon" id="studierendeicon"><br> 
 
    <a class="icontitle" href="">STUDIERENDE</a> 
 
    <div class="after"></div> 
 
</div> 
 
<div class="navItem"> 
 
    <img src="./img/unternehmen.png" class="icon" id="unternehmenicon"><br> 
 
    <a class="icontitle" href="">UNTERNEHMEN</a> 
 
    <div class="after"></div> 
 
</div> 
 
    <div class="navItem"> 
 
    <img src="./img/kontakt.png" class="icon"><br> 
 
    <a class="icontitle" href="">KONTAKT</a> 
 
    <div class="after"></div> 
 
</div> 
 
</nav>

+0

これは本当にいいアイデアです!私はそれが大好きですが、アイコンが大きくなると、ナビゲーションボックスがオーバーフローします。すでに変換プロパティをscale(1.5)に設定していますが、この場合、カーソルがナビゲーションに収まらない(塗りつぶされない)こと、またサイズが異なることがわかります。 – lceli

+0

私はそれを作った! :)あなたのコードも使用しました。ありがとうございました – lceli

+0

あなたの問題の解決策であれば、答えを助けたり受け入れたりしたら、アップしてください。 – jmtalarn

関連する問題