2011-04-17 50 views
0
  1. 我需要的菜单(家,投资,服务,约)在中间对齐离开了。
  2. 的DIV#头登陆应该是右对齐

我怎么能完成这些任务?对齐的div和UL

为了解决第一个问题,我把的div显示:内联;但由于某种原因,ul#header-menu在顶部留下空间

为了解决第二个问题,我试图把div#header-login的宽度设为100%,从而将文本对齐到右边,但是失败。

Here是完整的代码:

回答

1

实现这一目标最简单的方法是,以确保您在标题中漂浮的一切。在当前混合使用某些浮点数和某些非浮点数(加上一些带有display:inline的元素)的情况下,如果需要在旧版本的Internet Explorer中使用它,这将会很棘手,并且可能会出现问题。

我做了一些小的修改,您的jsfiddle。现在,它将浮动标题中的3个元素,并将浮动清除应用到标题div本身,以便标题后的内容正确清除(还有一些评论的例子说明了如何为具有条件样式表的IE执行此操作)。

http://jsfiddle.net/y4Qyw/1/

我没有扭捏的间距明确,但它应该是一种形式现在定位在要与一些填充和/或保证金的一切。在这种情况下自动垂直定位是不可能的,除非你使用display:table-cell(它不是完全跨浏览器),所以你只需要垂直向下偏移菜单以使其居中对齐。

1

这里是处理:

div#header 
{ 
    clear:both; 
    overflow:hidden; 
} 
div#header-login 
{ 
    text-align: right; 
    overflow:hidden; 
    float:right; 
    margin-top:-30px; 
} 
img#header-logo 
{ 
    display: block; 
    float:left; 
} 

ul#header-menu 
{ 
    margin: 0 auto; 
    padding: 15px; 
    display: block; 
    list-style-type: none; 
    overflow:hidden; 
} 
+0

有一些不使用margin-top的方法:-30px;? 我注意到ul#header-menu转到页面的底部,而div#header-login已经结束了。 – ridermansb 2011-04-17 15:54:45

+0

yes yes。请注意,我没有对菜单UL给出任何宽度,这就是为什么它占据了右侧的所有宽度。但是,如果您指定70%的宽度,则不需要设置顶部边距。 – 2011-04-17 16:04:30