2016-07-19 22 views
0

私はHTMLとCSSの新機能です。これはプロジェクトではなく、自分で発見することです。リスト(ulli)を使用してナビゲーションバーを作成しようとしており、ナビゲーションバーに他のテキストとともに検索アイコンとユーザーログインアイコンを配置したいとします。これは私のHTMLです:.pngナビゲーションバーの背景画像として

<div class="nav"> 
    <ul> 
     <div class="navBarIcons"> 
      <li class="searchIco"><a href="">search</a></li> 
      <li class="userIco"><a href="">user</a></li> 
     </div> 
     <li><a href="">OVERCLOCKING</a></li> 
     <li><a href="">PERIPHERALS</a></li> 
     <li><a href="">STORAGE</a></li> 
     <li><a href="">POWER SUPPLY</a></li> 
     <li><a href="">GRAPHIC CARDS</a></li> 
     <li><a href="">MEMORY</a></li> 
     <li><a href="">MOTHERBOARDS</a></li> 
     <li><a href="index.html">PROCESSOR</a></li> 
    </ul> 
</div> 

、これは私のCSSです:私はしたいと思う何

.userIco {  
    background-image: url(userIco.png);  
    background-repeat: no-repeat;  
    background-size: 25px;  
    background-position: center;  
} 

.searchIco {  
    background-image: url(searchIco.png);  
    background-repeat: no-repeat;  
    background-size: 25px;  
    background-position: center;  
} 

.nav li a:hover {  
    background-color: #195ca1;   
    color: #f2f2f2;   
} 

は、アイコンの上にカーソルを移動することで、あなたが見ることができるように、それはまだ(があるだろう私は置くと、それが消え、画面キャップ)

Screencap

私はテキストを削除した場合には、適切に配置され文句を言わないと私はそれがBACのブロック全体をカバーしていない置くと、 kground

enter image description here

+0

あなたの投稿を気にする:ホバーcss? screengrabから起こっていることは起こりうることですが、 'background:color'を設定して、色のみに設定されたすべての背景をリセットすることです。これが当てはまる場合は、 'background-color:color'のように他のものが変更されないように、色だけを再定義することです。 – Forty

+2

Divは' ul'の子として許可されていません...無効なHTMLです。同様に、 'li'は' ul'以外の子どもになることはできません。 –

+1

@Forty CSSコード –

答えて

0

あなたbackground-image<li>要素に設定されているが、それは<li>よりも上層にされているので、あなたのbackground-colorは、あなたの<a>に設定されています。代わりにbackground-colorli:hoverに設定するか、background-image<a>要素に移動する必要があります。イメージは、背景色と同じかそれ以上の層にある必要があります。

+0

を追加しました。この '.nav li:hover { \t背景色:#195ca1; \t色:#f2f2f2; } 'それを修正するように見えましたが、テキストはまだ残っています。テキストを削除すると、位置が間違っています。これは私が話していることです:http://oi68.tinypic.com/2m7vpqa.jpg –

+0

どのようにテキストを削除しようとしましたか?私はあなたがそこに置いておくことができると考えています(スクリーンリーダーにとってはまだまだ有益です)。それを 'font-size:0'または' color:transparent'に設定してください。フォントサイズをゼロに設定するかテキストを削除すると、追加するスペースが削除されるので、残りのコードの設定方法に応じて、aまたはliに幅を追加する必要があります。 – Forty

+1

大丈夫私はそれを修正した、あなたは私にアイデアを与えた。私は '.searchIco a {opacity:0; } 'それはすべて修正されました。ありがとうございました! –

関連する問題