Ege*_*can 10 html css internet-explorer css3
我不是那些提供某些标准的问题的忠实粉丝,但没有理由让解决方案可以接受,但在这种情况下,我也有一个问题:没有兼容性的JavaScript,除了Modernizr.(原因是他们放慢了页面的速度.)
我使用了新的和花哨的CSS3 flex-box来创建一个菜单,如果有一些额外的空间,它会显示一些额外的链接.你可以在这里看到(希望)工作演示.
最大的问题是:如何在不使用有点着名的FlexieJS库的情况下为(咳嗽)恼人的(/咳嗽)Internet Explorer和旧浏览器提供后备?除了设置菜单(ul)的最大百分比宽度(这实际上不起作用)之外,这只能用css2实现吗?你能否至少指出我正确的方向?谢谢!
我再试一次,但仍然无法自己解决.任何帮助真的很感激!非常感谢=)你可以在这里找到我的尝试.
Jas*_*ham 10
我知道这是一个老话题,但我认为它应该得到你所要求的正确答案.由于您使用的是Modernizr,我们可以默认使用inline-block,但可以检测Flexbox何时可用并覆盖(使用良好的ol'或新的渐进增强功能).要使这个工作,你需要切换#admin-links和#common-links.下面是代码,它适用于IE6 +.一个演示也可以.
<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>
Run Code Online (Sandbox Code Playgroud)
#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;
}
Run Code Online (Sandbox Code Playgroud)