我很难使用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。李。但我想把它们放在父母的中心(菜单栏)。所以我需要一些像浮动:中心(我知道这很愚蠢而且不存在)。但有没有办法将块级元素包含为没有换行符的子元素(我的意思是没有制作块级元素)。
问候。
答案 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引导到这些浏览器。