html – 用于创造性地使用“Flex-Box”的旧(和烦人)浏览器的后备

前端之家收集整理的这篇文章主要介绍了html – 用于创造性地使用“Flex-Box”的旧(和烦人)浏览器的后备前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我不是一个大问题的粉丝,提供一些标准,没有推理的解决方案是可以接受的,但在这种情况下,我也有一个:没有 JavaScript兼容性,除了 Modernizr.(原因是他们也减慢了页面的下降许多.)

我使用新的和漂亮的CSS3 flex-Box创建一个菜单,显示一些额外的链接,如果有一些额外的空间.您可以看到(希望)的工作演示here.

最大的问题是:如何使用(咳嗽)烦人的(咳嗽)Internet Explorer和旧浏览器,而不使用有名的FlexieJS库?除了为菜单(ul)设置最大百分比宽度(这不是真的有效)之外,只需使用css2即可实现此功能?你能不能指出我正确的方向?谢谢!

UPDATE

我再试一次,但仍然无法自己弄清楚.任何帮助真的很感激!感谢很多=)你可以找到我的尝试here.

解决方法

我知道这是一个旧的线程,但我认为它应该得到一个适当的答案,你要求的.由于您使用Modernizr,因此我们可以默认为内嵌块,但是检测FlexBox是否可用并覆盖(使用好的ol’或者好的新的渐进增强).为了使这个工作,你可以切换#admin-links和#common-links.以下是代码,它在IE6中有效.还提供 demo.

HTML

<div id="wrapper">
    <div id="navigation">
        <ul id="admin-links">
            <li>
                <a href="#">Important Link</a>
            </li>
            <li>
                <a href="#">Important Link</a>
            </li>
        </ul>
        <ul id="common-links">
            <li>
                <a href="#">Important Link</a>
            </li>
            <li>
                <a href="#">Important Link</a>
            </li>
            <li>
                <a class="omittable" href="#">Omittable Link</a>
            </li>
            <li>
                <a class="omittable" href="#">Omittable Link</a>
            </li>
            <li>
                <a class="omittable" href="#">Omittable Link</a>
            </li>
        </ul>
    </div>
    <div id="content">
        <p>Hello world.</p>
        <p>This is supposed to be content.
            But only thing we care is the menu (Sorry about that.)
        </p>
        <p>Page width decreases,some items magically disappear.<br />
            Which is <strong>intended</strong>.<br />
            You can do that by pulling the frame bars around.
        </p>
    </div>
</div>

CSS

#wrapper {
    background: #eee;
    width: 100%;
    min-width: 450px;
    max-width: 700px;
    margin: 0 auto;
}
#navigation {
    height: 40px;
    background: #f00;
    width: 100%;
    overflow: hidden;

}

.flexBox #navigation {
    -moz-Box-align: stretch;
    -moz-Box-orient: horizontal;
    -webkit-Box-align: stretch;
    -webkit-Box-orient: horizontal;
    -moz-Box-orient: horizontal;
    -webkit-Box-orient: horizontal;
    -ms-Box-orient: horizontal;
    Box-orient: horizontal;
    -moz-Box-align: stretch;
    -webkit-Box-align: stretch;
    -ms-Box-align: stretch;
    Box-align: stretch;
    -moz-Box-direction: reverse;
    -webkit-Box-direction: reverse;
    -ms-Box-direction: reverse;
    Box-direction: reverse;
    display: -moz-Box;
    display: -webkit-Box;
    display: -ms-Box;
    display: Box;
    float: none;
}

#navigation ul {
    overflow: hidden;
    z-index: 990;    letter-spacing: -4px;

}
#common-links {
    overflow: hidden;
}

.flexBox #common-links {
  -moz-Box-flex: 1;
  -webkit-Box-flex: 1;
  -ms-Box-flex: 1;
  Box-flex: 1;

}

#navigation li {


    display: inline-block;
    letter-spacing: normal; height: 40px;
}
#navigation li a {
    padding: 10px;
    display:inline-block;
    *display: inline;
    zoom: 1;
    background: #0c0;
    outline: solid 1px #0c0;
}

#navigation a.omittable {
    background: #0f0;
}

#admin-links {
    float: right;
}
.flexBox #admin-links {
    float: none;
}
#admin-links ul {
    white-space: nowrap;
}

猜你在找的HTML相关文章