使用内联块和百分比宽度的多行

时间:2013-11-26 22:44:52

标签: css jquery-mobile

在jquery移动弹出窗口中,我希望每行显示五个链接。

HTML:

<div data-role="page" id="home">
    <a href="#popup1" id="btn1" data-role="button" data-rel="popup">button 1</a>
    <a href="#popup2" id="btn2" data-role="button" data-rel="popup">button 2</a>

    <div data-role="popup" id="popup1" class="ui-content">
        <a href="#">111</a>
        <a href="#">222</a>
        <a href="#">333</a>
        <a href="#">444</a>
        <a href="#">555</a>
        <a href="#">666</a>
        <a href="#">777</a>
        <a href="#">888</a>
        <a href="#">999</a>
    </div>
    <div data-role="popup" id="popup2" class="ui-content">
        <a href="#">111</a>
        <a href="#">222</a>
        <a href="#">333</a>
    </div>
</div>

CSS:

a {
    display: inline-block;
    width: 20%
}

当我点击按钮1时,弹出窗口正确显示9个链接分成两行; 单击第二个按钮,显示所有附加的三个链接。为什么呢?

所有内容均可在http://jsfiddle.net/5EwTb/3/

中查看

感谢。

2 个答案:

答案 0 :(得分:0)

问题是在inline-block元素之间产生的空白区域 - 它们增加到20%并将最后一个(从5中)推到下一行。

答案 1 :(得分:0)

在div data-role="content"中换行链接,然后从弹出式div中删除.ui-content。那么你需要设置一个width到内容div。

<div data-role="popup" id="popup2">
  <div data-role="content">
    <a href="#">111</a>
    <a href="#">222</a>
    <a href="#">333</a>
  </div>
</div>

.ui-popup .ui-content {
  min-width: 150px;
}
  

<强> Demo