gpt4 book ai didi

html - 如何内联显示多个 100% 宽度的
  • 转载 作者:太空狗 更新时间:2023-10-29 15:24:34 24 4
    gpt4 key购买 nike

    我有以下 html:

    <div id="container">
    <ul>
    <li>element 1</li>
    <li>element 2</li>
    </ul>
    </div>

    应用如下CSS:

    #container { width:100%; overflow:auto; }
    #container ul { width: 100%; }
    #container li { width: 100%; }

    所以现在我想要不确定数量的元素 ( <li> ),所有元素都具有 100% 的宽度(因此它们可以根据浏览器的窗口大小进行相应调整)但并排显示水平滚动条容器。

    我试过在 ul 的 css 上放置“display:inline”,在 li 的 css 上放置“float:left”,但没有成功。

    有什么建议吗?

    此外,请考虑一下我正在努力使其尽可能“跨浏览器兼容”。

    提前致谢。

    最佳答案

    和其他人一样,我很难理解您到底在寻找什么,但这是否符合您的要求?

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
    <title>Horizontal 100% LIs</title>
    <style type="text/css">
    #container { width:100%; overflow:auto;}
    #container ul { padding:0; margin:0; white-space:nowrap; }
    #container li { width: 100%; list-style-type:none; display:inline-block; }
    * html #container li { display:inline; } /* IE6 hack */
    * html #container { padding-bottom:17px;} /* IE6 hack */
    *:first-child+html #container li { display:inline; } /* IE7 hack */
    *:first-child+html #container { padding-bottom:17px; overflow-y:hidden; } /* IE7 hack */
    </style>
    </head>
    <body>
    <div id="container">
    <ul>
    <li style="background-color:red">element 1</li><li style="background-color:green">element 2</li><li style="background-color:blue">element 3</li>
    </ul>
    </div>
    </body>
    </html>

    将 LI 连接到一条线上有两个部分。 ul 上的 white-space:nowrap 停止任何自动换行,LIs 上的 display:inline-block 允许它们一个接一个地运行,但在它们上设置了宽度、填充和边距。对于符合标准的浏览器,这就足够了。

    但是 IE6 和 IE7 需要特殊处理。它们不正确支持 display:inline-block,但幸运的是 display:inline 在设置了 hasLayout 的元素上给出了非常类似于 display:inline-block 的行为。 width:100% 已经强制在 LI 上设置 hasLayout,所以我们要做的就是将 display:inline 定向到 IE6 和 IE7。有很多方法可以做到这一点(条件注释在 StackOverflow 上很流行),但在这里我选择了 * html 和 *:first-child+html hacks 来完成这项工作。

    此外,IE6 和 IE7 还存在滚动条覆盖内容的另一个错误,因此为容器提供了一个 padding-bottom 来为滚动条腾出空间。滚动条是一个平台控件,因此无法准确知道它的高度,但 17 像素似乎适用于大多数情况。

    最后,IE7 也想加入垂直滚动条,所以针对 IE7 的 overflow-y:hidden 阻止了这种情况的发生。

    (padding:0、margin:0、list-style:none 和各个 LI 上的样式只是为了更清楚地显示正在发生的事情。)

    关于html - 如何内联显示多个 100% 宽度的 <li>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2434270/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com