使用图像的HTML、CSS导航菜单
我有一个78x26像素的图像,我想用它作为导航栏的按钮。 最合适的方法是什么 我希望图像在不显示时保持其原始大小使用图像的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> 您还必须指定的宽度和高度。请
#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;
}
@user1477388不垂直对齐的井元素是块元素,因此需要显示:inline block;或浮动:左;如果你想让它们水平地挨着放,同时也能收到宽度和高度的尺寸。很好,很乐意帮忙;和1 +到TimIDHORD,谁指出<代码> < L> > /代码>已经是块元素,所以您不需要指定两次(如我的编辑所示)。@ USE147888我如何对齐文本,使其在图像的中间?@塞巴斯蒂安<代码>文本对齐:中心;<代码>@user1477388未垂直对齐的井