Html 如何将LI设置为类似于表格单元格的行为

Html 如何将LI设置为类似于表格单元格的行为,html,css,Html,Css,我想使用列表(ul和li)创建一个菜单。 关于使用表格单元格属性不是跨浏览器的问题,如何设置lis的样式以使类似的表格单元格适合其容器 ----------------------------------------------------------------------------- | Item 1 | Item 2 | Item 3 | Item 7 | --------------------------

我想使用列表(
ul
li
)创建一个菜单。
关于使用表格单元格属性不是跨浏览器的问题,如何设置
li
s的样式以使类似的表格单元格适合其容器

-----------------------------------------------------------------------------
|      Item 1      |      Item 2      |      Item 3      |      Item 7      |
-----------------------------------------------------------------------------
注:
1.我被迫使用列表,无法使用表
2.我们不知道存在多少项
3.我想在没有JavaScript的情况下实现这一点
4.我们不知道容器的宽度
5.父级
ul
宽度应为
100%
,请不要使用静态宽度

ul li {float: left; width: 100px;}
像这样的

或者像这样:

像这样的


或者像这样:

从语义上讲,菜单就是一个列表,因此使用
  • 比使用
    更合适。WC3对如何做到这一点有很好的概述。要固定宽度,请同时设置
  • 的宽度

    从语义上讲,菜单是一个列表,因此使用
  • 比使用
    更合适。WC3对如何做到这一点有很好的概述。要固定宽度,请同时设置
  • 的宽度

    恐怕有太多的“不允许”使它变得像应该的那样灵活。

    恐怕有太多的“不允许”使它像应该的那样灵活

    ul li { float: left; }
    

    请注意,“display:inline block;”在IE6和IE7上不能很好地工作。在这些浏览器上,您必须替换

    ul li { display: inline-block; }
    

    请注意,“display:inline block;”在IE6和IE7上不能很好地工作。在这些浏览器上,您必须替换

    ul li { display: inline-block; }
    


    这是使用css显示选项的最佳方式:

    这是使用css显示选项的最佳方式:

    这绝对是您的做法。一个问题是,如果您正在浮动div,并且您不知道有多少个div,那么您可能需要开始第二行。如果使用PHP动态执行此操作,则可以在填充一定数量的“单元格”后清除一行。如果没有,您可以使用CSS子选择器在填充后清除每一行。我不想开始第二行,您不需要这样做。我的例子只是展示了如果你需要很多元素时会发生什么-如果没有足够的空间,它们会下降到下一行。但是它不适合它的容器,父
    ul
    应该是
    100%
    宽度当显示这些项目时-你能先数一数吗?这绝对是你的做法。一个问题是,如果您正在浮动div,并且您不知道有多少个div,那么您可能需要开始第二行。如果使用PHP动态执行此操作,则可以在填充一定数量的“单元格”后清除一行。如果没有,您可以使用CSS子选择器在填充后清除每一行。我不想开始第二行,您不需要这样做。我的例子只是展示了如果你需要很多元素会发生什么-如果没有足够的空间,它们会下降到下一行。但是它不适合它的容器,显示此项目时,父级
    ul
    的宽度应为
    100%
    ,您可以先数一数吗?为什么您被强制不使用表格?这是经理命令为什么您被强制不使用表格?这是经理命令
    ul li { display: inline; zoom: 1; }