2013-08-05 95 views
1

我在jquery mobile中设计了一个移动应用程序。我试图设计一个响应式菜单,但问题是当我的菜单内容超过1行其行为怪异。这里是我想要的和我得到的东西的截图。CSS菜单未正确对齐

enter image description here

这里是我的样式表

<ul> 
    <li><a href="about.html"><img src="images/icon1.png" border="0" alt="" title="">About</a></li> 
    <li><a href="blog.html"><img src="images/icon2.png" border="0" alt="" title="">My blog &amp; Portfolio</a></li> 
    <li><a href="gallery.html"><img src="images/icon3.png" border="0" alt="" title="">Photos</a></li> 
</ul> 


menu ul { 
    list-style: none; 
    padding: 0px; 
    margin: 0px; 
    display: inline; 
    line-height: 25px; 
    } 
    .menu ul li { 
    list-style: none; 
    display: inline-block; 
    width: 85px; 
    height: 125px; 
    margin: 0px 6px 5px 6px; 
    background: url(images/icon_bg.png) no-repeat center top; 
    } 
    .menu ul li a { 
    font-size: 14px; 
    font-weight: bold; 
    color: #302f2f; 
    text-decoration: none; 
    text-shadow: 1px 1px #dcdcdc; 
    } 
    .menu ul li a img { 
    padding: 0px; 
    width: 85px; 
    height: 85px; 
    } 

这里我们的jsfiddle http://jsfiddle.net/Xr8kL/

+0

提供一个的jsfiddle或活链接到这个问题。 – Nitesh

+0

@NathanLee用jsFiddle更新http://jsfiddle.net/Xr8kL/ – jquery404

回答

2

简单。只需添加一个vertical-align:top;.menu ul li

例如,

.menu ul li { 
    background: url("images/icon_bg.png") no-repeat scroll center top transparent; 
    display: inline-block; 
    height: 125px; 
    list-style: none outside none; 
    margin: 0 6px 5px; 
    vertical-align: top; 
    width: 85px; 
} 

这里是WORKING DEMO

+0

o男孩!你真棒!谢谢Nathan。你救了我的一天 – jquery404

+0

不客气:) - @ jquery404 – Nitesh

0

您是否尝试过使用jQuery Mobile的网格布局,而不是试图确定由你自己的CSS布局?这里是我的意思是:

http://jquerymobile.com/demos/1.3.0-beta.1/docs/content/content-grids.html

也有指导如何使这些网格响应

http://jquerymobile.com/demos/1.3.0-beta.1/docs/content/content-grids-responsive.html

+0

网格不适合我,因为我希望每个网格都会根据屏幕宽度进行调整。所以有时会有2菜单/​​ 3菜单等我不知道如何在网格中做到这一点。 – jquery404