使用图像的HTML、CSS导航菜单

使用图像的HTML、CSS导航菜单,html,css,Html,Css,我有一个78x26像素的图像,我想用它作为导航栏的按钮。 最合适的方法是什么 我希望图像在不显示时保持其原始大小 #navbar li { background-image:url("../images/btns.png"); } 我知道我可以做这样的事情,但是我又该如何把文字放在图片上呢 <li><a href="#"><img src="images/btns.png"></a></li> 您还必须指定的宽度和高度。请

我有一个78x26像素的图像,我想用它作为导航栏的按钮。 最合适的方法是什么

我希望图像在不显示时保持其原始大小

#navbar li {
    background-image:url("../images/btns.png");
}
我知道我可以做这样的事情,但是我又该如何把文字放在图片上呢

<li><a href="#"><img src="images/btns.png"></a></li>

  • 您还必须指定
  • 的宽度和高度。请试试这个:

    #navbar li {
        background-image:url("../images/btns.png");
        width: 78px;
        height:26px;
    }
    
  • 元素,我相信是内联的,因此您必须这样做才能使它们并排出现:

    #navbar li {
            background-image:url("../images/btns.png");
            width: 78px;
            height:26px;
            float: left;
        }
    

    您还必须指定
  • 的宽度和高度。请试试这个:

    #navbar li {
        background-image:url("../images/btns.png");
        width: 78px;
        height:26px;
    }
    
  • 元素,我相信是内联的,因此您必须这样做才能使它们并排出现:

    #navbar li {
            background-image:url("../images/btns.png");
            width: 78px;
            height:26px;
            float: left;
        }
    

    背景图像
    不能单独缩放图像。如果您觉得它没有以原始大小渲染,可能是因为它在重复

    改用这个:

    background:url("../images/btns.png") no-repeat;
    
    然后

    <li><a href="#">Your text here</a></li>
    
  • 您现在可能需要调整
    li
    的大小以适合您的设计


    如果您在线加载代码,比如在codepen上,可能会更好。io本身不会缩放图像。如果您觉得它没有以原始大小渲染,可能是因为它在重复

    改用这个:

    background:url("../images/btns.png") no-repeat;
    
    然后

    <li><a href="#">Your text here</a></li>
    
  • 您现在可能需要调整
    li
    的大小以适合您的设计


    如果您在线加载代码,比如在codepen.io上加载,可能会更好。我相信这是标准方式:

    <nav class="navbar" role="navigation">
        <ul class="main-nav">
            <li class="menu-1"><a href="#">Menu-Link-text</a></li>
            <li class="menu-2"><a href="#">Menu-Link-text</a></li>
            ....
            </li>
        </ul>
    </nav>
    
    .navbar {
        overflow:hidden /* trick to force the navbar to wrap the floated <li>s */
    } 
    .main-nav li {
        float: left;
        display: inline; /* bug fix for older IE */
    } 
    .main-nav a {
        display:block; /* bigger click area */
        width: 78px;
        height:26px;
        text-indent: 100%; /* Text in the link for search engines and assistive technologies */
        whitespace: nowrap; /* see above */
        background: #yourFallBackBackgroundColor url("../images/btns.png") no-repeat 0 0; /* use a sprite with all images in one file and move them within background as required */
    }
    .menu-1 {
        background-position:0 0;
    }
    .menu-2 {
        background-position:-78px 0;
    }
    .menu-3 {
        background-position:-156px 0;
    }
    
    
    
    • ....
    navbar先生{ 溢出:隐藏/*技巧,强制导航栏包裹浮动的
  • s*/ } 主导航李先生{ 浮动:左; 显示:内联;/*针对旧IE的错误修复*/ } .主导航a{ 显示:块;/*较大的单击区域*/ 宽度:78px; 高度:26px; 文本缩进:100%;/*搜索引擎和辅助技术链接中的文本*/ 空白:nowrap;/*见上文*/ 背景:#yourFallBackBackgroundColor url(“../images/btns.png”)不重复0;/*使用一个精灵,将所有图像放在一个文件中,并根据需要在背景中移动它们*/ } .menu-1{ 背景位置:0; } .menu-2{ 背景位置:-78px 0; } .菜单-3{ 背景位置:-156px 0; }
  • 我认为这是标准方式:

    <nav class="navbar" role="navigation">
        <ul class="main-nav">
            <li class="menu-1"><a href="#">Menu-Link-text</a></li>
            <li class="menu-2"><a href="#">Menu-Link-text</a></li>
            ....
            </li>
        </ul>
    </nav>
    
    .navbar {
        overflow:hidden /* trick to force the navbar to wrap the floated <li>s */
    } 
    .main-nav li {
        float: left;
        display: inline; /* bug fix for older IE */
    } 
    .main-nav a {
        display:block; /* bigger click area */
        width: 78px;
        height:26px;
        text-indent: 100%; /* Text in the link for search engines and assistive technologies */
        whitespace: nowrap; /* see above */
        background: #yourFallBackBackgroundColor url("../images/btns.png") no-repeat 0 0; /* use a sprite with all images in one file and move them within background as required */
    }
    .menu-1 {
        background-position:0 0;
    }
    .menu-2 {
        background-position:-78px 0;
    }
    .menu-3 {
        background-position:-156px 0;
    }
    
    
    
    • ....
    navbar先生{ 溢出:隐藏/*技巧,强制导航栏包裹浮动的
  • s*/ } 主导航李先生{ 浮动:左; 显示:内联;/*针对旧IE的错误修复*/ } .主导航a{ 显示:块;/*较大的单击区域*/ 宽度:78px; 高度:26px; 文本缩进:100%;/*搜索引擎和辅助技术链接中的文本*/ 空白:nowrap;/*见上文*/ 背景:#yourFallBackBackgroundColor url(“../images/btns.png”)不重复0;/*使用一个精灵,将所有图像放在一个文件中,并根据需要在背景中移动它们*/ } .menu-1{ 背景位置:0; } .menu-2{ 背景位置:-78px 0; } .菜单-3{ 背景位置:-156px 0; }
  • 元素是块元素,因此需要显示:内联块;或浮动:左;如果你想让它们水平地挨着放,同时也能收到宽度和高度的尺寸。很好,很乐意帮忙;和1 +到TimIDHORD,谁指出<代码> < L> > /代码>已经是块元素,所以您不需要指定两次(如我的编辑所示)。@ USE147888我如何对齐文本,使其在图像的中间?@塞巴斯蒂安<代码>文本对齐:中心;
    @user1477388不垂直对齐的井
  • 元素是块元素,因此需要显示:inline block;或浮动:左;如果你想让它们水平地挨着放,同时也能收到宽度和高度的尺寸。很好,很乐意帮忙;和1 +到TimIDHORD,谁指出<代码> < L> > /代码>已经是块元素,所以您不需要指定两次(如我的编辑所示)。@ USE147888我如何对齐文本,使其在图像的中间?@塞巴斯蒂安<代码>文本对齐:中心;<代码>@user1477388未垂直对齐的井