Html CSS-将导航栏与图像和文本对齐
我的菜单如下图所示,我正试图将文本与图像正确对齐,即[img][text],并拉伸整个内容以适应所有宽度 图片: HTML: 我建议使用显示:表格单元格;在菜单ul li中,而不是浮动:左;我从一本关于响应式设计的书中学到了这一点,并将背景图像作为IMG放入html: 看我的 以下是修改后的html:Html CSS-将导航栏与图像和文本对齐,html,css,menu,navigationbar,Html,Css,Menu,Navigationbar,我的菜单如下图所示,我正试图将文本与图像正确对齐,即[img][text],并拉伸整个内容以适应所有宽度 图片: HTML: 我建议使用显示:表格单元格;在菜单ul li中,而不是浮动:左;我从一本关于响应式设计的书中学到了这一点,并将背景图像作为IMG放入html: 看我的 以下是修改后的html: <div id="menu"> <ul> <li><a cl
<div id="menu">
<ul>
<li><a class="current" href="home.html" title=""><img src=""><span>HOME</span></a</li>
<li><a href="services.html" title=""><img src=""><span>TRANSPORT</span></a></li>
<li><a href="#" title=""><img src=""><span>ACCOMODATION</span></a></li>
<li><a href="#" title=""><img src=""><span>DEALS</span></a></li>
<li><a href="contact.html" title=""><img src=""><span>CONTACT</span></a></li>
</ul>
</div>
我很肯定,这里已经有了答案-这里的另一个建议是将所有图像放在一个精灵中,并将它们作为背景图像放在菜单中这是假设您不需要使用实际的图像元素来访问。但是这个解决方案非常恰当,是一个伟大的CSS解决方案,支持IE8。除此之外,对于图像中漂亮的垂直对齐和全宽特性,您需要JS支持。但简单总是好的。
#menu{
width:900px;
height: 50px;
clear:both;
background-color: #f7951e;
font-family: 'Exo 2', sans-serif;
text-align: center;
}
#menu ul{
font-family: 'Exo 2', sans-serif;
list-style:none;
margin-top: 5px;
margin-bottom: 5px;
display:block;
float: left;
width: auto;
}
#menu ul li{
font-family: 'Exo 2', sans-serif;
list-style:none;
display:inline;
width:auto;
height:50px;
line-height:42px;
font-size:18px;
}
#menu ul li a{
font-family: 'Exo 2', sans-serif;
font-size: 18px;
height: auto;
width: auto;
float:next;
text-decoration: none;
color:#fff;
padding-left: 40px;
padding-right: 10px;
}
#menu ul li a:hover{
height:auto;
width: auto;
text-decoration:none;
color: #fff;
}
#menu ul li a.current{
height:auto;
width: auto;
text-decoration:none;
color: #fff;
}
#menu ul li:nth-of-type(1){
background:url(./images/iconza/house_32x32.png) no-repeat;
float: start;
padding-top: 5px;
padding-bottom: 10px;
}
#menu ul li:nth-of-type(2){
background:url(./images/iconza/Car.png) no-repeat;
float: start;
padding-top: 5px;
padding-bottom: 10px;
}
#menu ul li:nth-of-type(3){
background:url(./images/iconza/house.png) no-repeat;
float: start;
padding-top: 5px;
padding-bottom: 10px;
}
#menu ul li:nth-of-type(4){
background:url(./images/iconza/offer.png) no-repeat;
float: start;
padding-top: 5px;
padding-bottom: 10px;
}
#menu ul li:nth-of-type(5){
background:url(./images/iconza/mail_32x32.png) no-repeat;
float: start;
padding-top: 5px;
padding-bottom: 10px;
}
<div id="menu">
<ul>
<li><a class="current" href="home.html" title=""><img src=""><span>HOME</span></a</li>
<li><a href="services.html" title=""><img src=""><span>TRANSPORT</span></a></li>
<li><a href="#" title=""><img src=""><span>ACCOMODATION</span></a></li>
<li><a href="#" title=""><img src=""><span>DEALS</span></a></li>
<li><a href="contact.html" title=""><img src=""><span>CONTACT</span></a></li>
</ul>
</div>
#menu{
width:900px;
height: 50px;
background-color: #f7951e;
font-family: 'Exo 2', sans-serif;
text-align: center;
display: table;
}
#menu ul{
font-family: 'Exo 2', sans-serif;
display:table-row;
}
#menu ul li{
font-family: 'Exo 2', sans-serif;
list-style:none;
display:table-cell;
font-size:18px;
vertical-align: middle;
}
#menu ul li a{
font-family: 'Exo 2', sans-serif;
text-decoration: none;
color:#fff;
}
#menu ul li span {
vertical-align: middle;
margin-left: 5px;
}
#menu ul li img{
vertical-align: middle;
}
#menu ul li a:hover{
color: #ababab;
}
#menu ul li a.current{
text-decoration:underline;
}
#menu ul li:first-child {
text-align: left;
padding-left: 10px;
}
#menu ul li:last-child {
text-align: right;
padding-right: 10px;
}