2017-07-20 23 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>