【发布时间】:2015-07-26 22:20:05
【问题描述】:
我在阅读“使用 HTML5 和 CSS3 的响应式网页设计”Chapter3 Fluid Layouts 时遇到了这个问题。作者试图将固定像素大小更改为基于百分比的流体大小。下面是html和css代码。
html:
<div id="wrapper">
<div id="navigation">
<ul>
<li><a href="#">something</a></li>
<li><a href="#">some other thing</a></li>
</ul>
</div>
css:
#navigation ul li{display:inline-block;}
#navigation ul li a {margin-right:25px;}
假设最外面的#wrapper 是 940 像素宽度。作者天真地展示了将 margin-right 从 25px 更改为 2.66%(25/940) 不起作用,因为 <a> 的中间父级是 <li>,没有给定特定的宽度。
除了作者建议的解决方案,作者还提供了另一种解决方案,将“display:inline-block”改为“display:inline”。
虽然我可以在一定程度上理解 inline 和 inline-block 之间的区别,但是感谢 StackOverflow 的这两个段落(1,2),我不知道它在这种情况下究竟是如何工作的。
我猜 inline 的东西不能互相贴近,但是 inline-block 可以。对吗?
感谢您的任何建议。谢谢!
【问题讨论】:
-
小心将
li设置为inline-block,它不能很好地与一些旧版本的IE 配合使用。最好使用inline,然后将此后代a设置为inline-block。
标签: javascript html css web responsive-design