css - 无序包装 CSS 列表布局问题

标签 css list xhtml

<分区>

也许我以错误的方式解决这个问题,但我正在尝试创建一个 <ul>充满了这样的元素:

<li>
    <div>
        <img src="img/productname.png" alt="desc" />
        <h2>Product name</h2>
        <p>This text is variable in lenght so the height of each list item may differ.</p>
    </div>
</li>

由于正在运行的网站有最大宽度,我需要在一定数量的元素(三个似乎是最佳点)之后换行,但我记不起如何去做。

图像都位于每一“行”的顶部并且下一行不被前一行打断也很重要。如果我只使用 float:left;在列表项上,列表中的第一个元素的描述比另一个更长,然后我最终用这个元素阻止了下一行的元素,这样我得到一个表格,如:

+-----+-----+-----+
|     |  2  |  3  |
|  1  +-----+-----+
|     |     |
+-----+  4  |
      |     |
      +-----+

现在,我需要的是优雅地允许添加更多列表项并创建如下布局的东西:

+-----+-----+-----+
|     |  2  |  3  |
|  1  +-----+-----+
|     |
+-----+-----+
|  4  |  5  |
|     +-----+
+-----+

这有可能吗,还是我只是在想象我以前创建过这样的布局?

(顺便说一句,我不想​​为此使用表格的原因是因为它不是表格数据,它是一个必须包装的产品列表,并且清楚地搜索任何同时具有“css/html”和“网格”的内容“由于当前的网格布局时尚,它是无望的)

最佳答案

如果您不需要它在 Firefox 2 和更早版本中工作,您可以设置 <li> s displayinline-block .

要使其在 IE 6 中工作(可能还有 IE 7,我忘记了何时添加了适当的 inline-block 支持),您可以将它们设置为 display: inline .只要他们有定义的 width (我假设他们有),然后他们会显示为 inline-block — 参见 http://foohack.com/2007/11/cross-browser-support-for-inline-block-styling/

关于css - 无序包装 CSS 列表布局问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4153917/

相关文章:

javascript - 使用 jQuery、CSS 或两者来扩展 DIV 解决方案?

python - 如何显示输入的数字在哪个位置?

Java 8 流逆序

css - 如何使用 Twitter Bootstrap 将菜单项行为更改为 "on hover change background"?

java - 尝试在 xhtml 文件上使用 Sax 解析器时出错

html - 将子元素设置为父元素的 100% 高度,无论其他同级元素如何

css - 如何使用 JSS 设置没有类的输入标签的样式

html - 在可打印文档的 <thead> 上使用 CSS 添加总页数指示器?

python - 比较列表并根据两者的内容创建新列表

java - Richfaces:调用 s:link 的 action 属性中的多个方法