XHtml Strict,Float:Center?

时间:2010-04-06 08:40:24

标签: xhtml css-float center strict

我很难使用Xhtml Strict 1.0和Css。而我几乎没有解决方案。

我的网站网址:http://www.pro-turk.net/beta/

我为我的网站制作了一个jquery多级下拉菜单。

看起来好像,但我在导航菜单上使用了css display属性的inline-block属性,这是css 2.1的一部分,并且某些浏览器不支持(包括ie6和ie7)。

我想制作#nav> li元素阻止级别元素,但为了做到这一点并将它们全部放在同一行中,唯一的方法是在#nav>中使用float。李。但我想把它们放在父母的中心(菜单栏)。所以我需要一些像浮动:中心(我知道这很愚蠢而且不存在)。但有没有办法将块级元素包含为没有换行符的子元素(我的意思是没有制作块级元素)。

问候。

3 个答案:

答案 0 :(得分:0)

您可以向左或向右浮动li并使菜单本身居中。使菜单成为其元素总和的宽度。

#nav
{
    width: 500px;

    /* This will center the block within its container */
    margin-left: auto;
    margin-right: auto;
}

编辑:由于你不知道菜单的宽度(它是动态的),当我们没有替代表时,我们就会遇到这种情况。

<table border="0" cellpadding="0" cellspacing="0" style="margin: 0 auto;">
    <tr>
        <td>Menu item 1</td>
        <td>Menu item 2</td>
        <td>Menu item 3</td>
    <tr>
<table>

P.S。对于具有较新CSS3扩展名的表格,例如display:table | table-cell等,有一些替代品,但它还没有广泛的支持。

答案 1 :(得分:0)

我认为在不使用表格的情况下,css2中没有解决方案。

答案 2 :(得分:0)

display:IE6或IE7不支持inline-block,但是你可以通过display:inline在这些浏览器中获得相同的效果,并确保在这些元素上设置hasLayout,比如使用zoom:1。使用条件注释仅将不同的css引导到这些浏览器。