在SlickNav上使用徽标

时间:2014-09-03 18:43:10

标签: javascript jquery navigation slicknav

我已经能够使用建议的标记成功将SlickNav实施到我的网站中:

%nav
      #logo
        = link_to 'index.html#top' do
          = image_tag "logo.png"     
      %ul#menu
        %li
          = link_to "ONE", "#1"
        %li
          = link_to "TWO", "#2"
        %li 
          = link_to "THREE", "#3"
        %li 
          = link_to "FOUR", "#4"

在certiain断点处,它隐藏导航然后显示SlickNav - 一切都很好。

我被卡住的地方是,在输出的代码中,它显示.slicknav_menu高于其他所有内容(就在正文下方),我不知道.js中的哪个位置可以为徽标添加div?< / p>

<div class="slicknav_menu"><a href="#" aria-haspopup="true" tabindex="0" class="slicknav_btn slicknav_collapsed" style="outline: none;"><span class="slicknav_menutxt"></span><span class="slicknav_icon slicknav_no-text"><span class="slicknav_icon-bar"></span><span class="slicknav_icon-bar"></span><span class="slicknav_icon-bar"></span></span></a><ul class="slicknav_nav slicknav_hidden" aria-hidden="true" role="menu" style="display: none;">
        <li>
          <a href="#1" role="menuitem" tabindex="-1">ONE</a>
        </li>
        <li>
          <a href="#2" role="menuitem" tabindex="-1">TWO</a>
        </li>
        <li>
          <a href="#3" role="menuitem" tabindex="-1">THREE</a>
        </li>
        <li>
          <a href="#4" role="menuitem" tabindex="-1">FOUR</a>
        </li>
      </ul></div>

期望效果:

http://oi60.tinypic.com/2egcpky.jpg

6 个答案:

答案 0 :(得分:3)

不幸的是,使用SlickNav时,没有内置的方法可以在菜单的左侧添加徽标。

实现所需内容的最简单方法是使用JS并将徽标添加到具有类slicknav_menu的div并将其向左浮动。

http://jsfiddle.net/gadw2j4y/

答案 1 :(得分:3)

我在搜索同一问题的答案时遇到了这个问题,并将以下代码成功应用到我的网站。

<script type="text/javascript">
    $(document).ready(function(){
        $('.slicknav_menu').prepend('<a href="index.php"><img class="logo" src="images/logo.jpg" alt="Website Logo" /></a>');
    });
</script>

在CSS中应用以下内容:

.logo {
float: left;
width: 25%;/*or whatever size you would like*/
height: auto;
}

答案 2 :(得分:1)

您可以将徽标添加到标签属性中。

handleSubmit

答案 3 :(得分:0)

在slicknav.css文件中找到这行css代码

.slicknav_menu:before,
.slicknav_menu:after { content: " "; display: table;}
.slicknav_menu:after { clear: both }

并将其替换为

.slicknav_menu:after { content: url(../img/logo.png); display: table;}
.slicknav_menu:before { clear: both }

答案 4 :(得分:0)

在.css文件中,您可以找到将徽标设置为菜单背景的代码:

.slicknav_menu:before{
float: left;
height: 90px;
background: url(logo.png)no-repeat;
width: 110px;
margin-left: 7px;
margin-top: 7px;}

请记住更改高度属性以将其调整为您的徽标高度,否则您的徽标选项会被切割。问候。

答案 5 :(得分:0)

SlickNav支持品牌属性,可以完全满足您的需求:

$('#mymenu').slicknav({
        brand: "<img src='/mylogo.png'>"
    });

我不确定你的帖子发布时是否有这个功能,但它确实存在并且现在正在工作。