2017-07-20 3 views
0

アイコンをナビゲートしようとしています。ホバーアイコンも同じ色をしていますが、私はアイコンを並べて配置していますが、同時にそれを右に押すことはできません。ホバリング可能なナビアイコン

主な目標は、hrefの左側にアイコンを置くことです。右側に3pxのパディングがあるので、テキストには触れません。また、ナビゲーションメニューでは、アイコンがテキストと同じ色になります各ナビアイテム。

HTML

<nav class="fixed-nav-bar"> 
    <div id="menu" class="menu"> 
     <a class="show" href="#menu">Menu</a><a class="hide" href="#hidemenu">Menu</a> 
     <ul class="menu-items"> 
     <li><div class="fa-icon-home"></div><a href="javascript:ajaxpage('pages/home.php', 'primaryContent');">HOME</a></li> 
     <li><a href="javascript:ajaxpage('pages/about.php', 'primaryContent');">ABOUT</a></li> 
     <li><a href="javascript:ajaxpage('pages/about.php', 'primaryContent');">DESIGNS</a></li> 
     <li><a href="javascript:ajaxpage('pages/about.php', 'primaryContent');">CONTACT</a></li> 
     </ul> 
    </div> 
    </nav> 

CSS:

.fa-icon-home { 
    background-image: url('../img/home.png'); 
    background-repeat: no-repeat; 
    height: 22px; 
    position: relative; 
    top: 15px; 
    right: 10px; 
} 
.fixed-nav-bar { 
    position: fixed; 
    width: 100%; 
    background-color: #3f3f3f; 
} 
.fixed-nav-bar li, .fixed-nav-bar a { 
    line-height: 70px; 
    width: 100px; 
    max-width: 120px; 
} 
.menu { 
    width: 90%; 
    max-width: 960px; 
    margin: 0 auto; 
    text-align: center; 
} 
.menu a, .menu a:visited { 
    color: #ffffff; 
    overflow: hidden; 
    font-size: 20px; 
} 
.menu a:hover, .menu a:target { 
    display: block; 
    color: #72BCD4; 
} 
.menu-items { 
    display: inline-block; 
} 
.menu-items li { 
    display: inline-block; 
    border-top: 2px solid transparent; 
} 
.menu-items a { 
    text-decoration: none; 
    display: block; /* New Line */ 
} 
.menu-items li:hover { 
    border-top: 2px solid #72BCD4; 
} 
.show, .hide { 
    display: none; 
    padding-left: 15px; 
    background-color: transparent; 
    background-repeat: no-repeat; 
    background-position: center left; 
    color: #dde1e2; 
} 
.show { 
    background-image: url(../assets/down-arrow-icon.png); 
} 
.hide { 
    background-image: url(../assets/up-arrow-icon.png); 
} 
+0

は、あなたが探しているものを、このですか? https://codepen.io/robwelan/pen/bRXNjy –

+0

@ Jishnuはい、しかし、私は2pxのボーダーを上に移動したいと思います。 – partians

+0

これは修正されましたか? –

答えて

0

私は今a:beforeを使用して、アイコンが適用される方法を変更。ここで

.menu-items li { 
 
    position: relative; 
 
} 
 

 
.menu-items li:nth-child(1) a:before { 
 
    font-family: FontAwesome; 
 
    color: white; 
 
    content: "\f015"; 
 
    position: absolute; 
 
    top: 0; 
 
    left: -.5em; 
 
} 
 

 
.fixed-nav-bar { 
 
    position: fixed; 
 
    width: 100%; 
 
    background-color: #3f3f3f; 
 
} 
 

 
.fixed-nav-bar li, 
 
.fixed-nav-bar a { 
 
    line-height: 70px; 
 
    width: 100px; 
 
    max-width: 120px; 
 
} 
 

 
.menu { 
 
    width: 90%; 
 
    max-width: 960 px; 
 
    margin: 0 auto; 
 
    text-align: center; 
 
} 
 

 
.menu a, 
 
.menu a:visited { 
 
    color: #ffffff; 
 
    overflow: hidden; 
 
    font-size: 20px; 
 
} 
 

 
.menu a:hover, 
 
.menu a:target { 
 
    display: block; 
 
    color: #72BCD4; 
 
} 
 

 
.menu-items li { 
 
    display: inline-block; 
 
    border-top: 2px solid transparent; 
 
} 
 

 
.menu-items a { 
 
    text-decoration: none; 
 
    display: block; 
 
} 
 

 
.menu-items li:hover { 
 
    border-top: 2px solid #72BCD4; 
 
} 
 

 
.menu-items li:hover a:before { 
 
color: #72BCD4; 
 
} 
 

 
.show, 
 
.hide { 
 
    display: none; 
 
    padding-left: 15px; 
 
    background-color: transparent; 
 
    background-repeat: no-repeat; 
 
    background-position: center left; 
 
    color: #dde1e2; 
 
} 
 

 
.show { 
 
    background-image: url(../assets/down-arrow-icon.png); 
 
} 
 

 
.hide { 
 
    background-image: url(../assets/up-arrow-icon.png); 
 
}
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" /> 
 
<nav class="fixed-nav-bar"> 
 
    <div id="menu" class="menu"> 
 
    <a class="show" href="#menu">Menu</a><a class="hide" href="#hidemenu">Menu</a> 
 
    <ul class="menu-items"> 
 
     <li><a href="javascript:ajaxpage('pages/home.php', 'primaryContent');">HOME</a></li> 
 
     <li><a href="javascript:ajaxpage('pages/about.php', 'primaryContent');">ABOUT</a></li> 
 
     <li><a href="javascript:ajaxpage('pages/about.php', 'primaryContent');">DESIGNS</a></li> 
 
     <li><a href="javascript:ajaxpage('pages/about.php', 'primaryContent');">CONTACT</a></li> 
 
    </ul> 
 
    </div> 
 
</nav>

0

、いくつかのCSSルールを変更し、ここに行く:

.fixed-nav-bar { 
 
    position: fixed; 
 
    width: 100%; 
 
    background-color: #3f3f3f; 
 
} 
 

 
.fixed-nav-bar li, .fixed-nav-bar a { 
 
    line-height: 70px; 
 
    width: 100px; 
 
    max-width: 120px; 
 
} 
 

 
.menu { 
 
    width: 90%; 
 
    max-width: 960px; 
 
    margin: 0 auto; 
 
    text-align: center; 
 
} 
 

 
.menu a, .menu a:visited { 
 
    color: #ffffff; 
 
    overflow: hidden; 
 
    font-size: 20px; 
 
} 
 

 
.menu a:hover, .menu a:target { 
 
    display: block; 
 
    color: #72BCD4; 
 
} 
 
.fixed-nav-bar .fa-home:hover { 
 
    color: #72BCD4; 
 
} 
 

 
.menu-items { 
 
    display: inline-block; 
 
} 
 

 
.menu-items li { 
 
    display: inline-block; 
 
    border-top: 2px solid transparent; 
 
} 
 
.menu-items a { 
 
    text-decoration: none; 
 
    display: block; /* New Line */ 
 
} 
 

 
.menu-items li:hover { 
 
    border-top: 2px solid #72BCD4; 
 
} 
 

 
.show, .hide { 
 
    display: none; 
 
    padding-left: 15px; 
 
    background-color: transparent; 
 
    background-repeat: no-repeat; 
 
    background-position: center left; 
 
    color: #dde1e2; 
 
} 
 
.show { 
 
    background-image: url(../assets/down-arrow-icon.png); 
 
} 
 
.hide { 
 
    background-image: url(../assets/up-arrow-icon.png); 
 
}
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" /> 
 
<nav class="fixed-nav-bar"> 
 
    <div id="menu" class="menu"> 
 
    <a class="show" href="#menu">Menu</a><a class="hide" href="#hidemenu">Menu</a> 
 
    <ul class="menu-items"> 
 
     <li><a href="javascript:ajaxpage('pages/home.php', 'primaryContent');"><i class="fa fa-home" aria-hidden="true"></i> HOME</a></li> 
 
     <li><a href="javascript:ajaxpage('pages/about.php', 'primaryContent');">ABOUT</a></li> 
 
     <li><a href="javascript:ajaxpage('pages/about.php', 'primaryContent');">DESIGNS</a></li> 
 
     <li><a href="javascript:ajaxpage('pages/about.php', 'primaryContent');">CONTACT</a></li> 
 
    </ul> 
 
    </div> 
 
</nav>

関連する問題