我在使用Xhtml Strict 1.0和Css时遇到了困难。我几乎没有解决方案了。
我的网站网址:http://www.pro-turk.net/beta/
我为我的网站做了一个jquery多级下拉菜单。
它看起来不错,但我在导航菜单上使用了css display属性的内联块属性,这是CSS2.1的一部分,一些浏览器(包括ie6和ie7)不支持它。
我想让#nav > li元素成为块级元素,但要做到这一点并将所有元素放在同一行中,唯一的方法是在#nav > li中使用float。但是我想把它们放在它们的父级(菜单栏)的中心。所以我需要一些像float:center这样的东西(我知道它很愚蠢,不存在)。但是有没有一种方法可以包括块级元素作为子元素而不换行符(我的意思是不创建块级元素)。
致以问候。
发布于 2010-04-06 16:55:24
您可以使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>附注:有一些替代表具有较新的CSS3扩展,如display:table | table-cell等,但它还没有得到广泛的支持。
发布于 2010-04-06 17:08:57
我认为如果不使用表,在css2中就没有解决方案。
发布于 2010-04-06 21:01:33
display:inline-block在IE6或IE7中不受支持,但您可以在这些浏览器中使用display:inline并确保在这些元素上设置hasLayout,比如使用zoom:1.使用条件注释将不同的css定向到这些浏览器。
https://stackoverflow.com/questions/2583575
复制相似问题