1

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

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

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

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

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

问候。

4

3 回答 3

0

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

于 2010-04-06T13:01:32.947 回答
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>

PS 有一些用较新的 CSS3 扩展display:table | table-cell等替代表,但它还没有广泛的支持。

于 2010-04-06T08:55:24.243 回答
0

我认为不使用表格在 css2 中没有解决方案。

于 2010-04-06T09:08:56.557 回答