0

我想要的是每个列表项的布局,例如:

在此处输入图像描述

但我得到的更像是:

在此处输入图像描述

所以我想:

  • 让 div1 占据一个特定的宽度,例如 20px(百分比会更好......)并且要填充的高度是父高度(列表项高度)。我已经尝试过putheigth:100%但没有效果。
  • div2 应该用一些填充占据其余的水平空间。

我如何操纵 css 样式来做到这一点?

到目前为止,以下是我的代码:

<script id="listItemTemplate" type="text/x-jsrender">

    <li class="listItem">
        <div class="div1">&nbsp;</div>
        <div class="div2">Some content</div>   
    </li>

</script>

<style>
    .ui-li-static.ui-li {
        padding: 0px;
    }

    .listItem div {
        display: inline-block;
    }

    .div1{
        width: 20px;
    }

    .div2{
        padding: 15px;
    }
</style>
4

3 回答 3

2

像这样的东西?演示

ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: table;
    width: 100%;
}

li {
    display: table-row;
}

.listItem div {
    display: table-cell;
}

.div1 {
    width: 10%;
}

.div2 {
    width: 90%;
    padding: 15px;
}
于 2013-04-28T14:47:35.883 回答
2

使用 jQuery Mobile 1.3 我使用了一个示例,使用文档中的 listview 小部件来实现我认为您想要的。

<ul data-role="listview">
    <li><a href="#">Acura</a></li>
    <li><a href="#">Audi</a></li>
    <li><a href="#">BMW</a></li>
    <li><a href="#">Cadillac</a></li>
    <li><a href="#">Ferrari</a></li>
    <li><div class="div1">test</div><div class="div2wr"><div class="div2">test2</div></div><div class="clr"></div></li>
</ul>

<style type="text/css">
.div1, .div2wr{
    height:30px;    
}
.div1 {
    width: 10%;
    background:black;
    float:left;
}

.div2wr {
    width: 90%;
    float:right;

}
.div2 {
    margin:5px;
    height:20px; /* height must be height of div1/div2wr minus div2 margin X2 */
    background:blue;
}
.clr{
    clear:both;
}
.ui-li-static.ui-li{padding:0px;
}
</style>
于 2013-04-28T18:14:34.437 回答
0

我使用的解决方案是:

<script id="listItemTemplate" type="text/x-jsrender">

    <li class="listItem">
        <div class="div2" style="border-left-color: #{{:CorBack}};">
            Some content
        </div>
    </li>

</script>

<style>

    .ui-li-static.ui-li {
        padding: 0px;
    }

    .div2{
        padding: 15px;
        border-left-width:15px;
        border-left-style:solid;
    }
</style>
于 2013-04-29T09:13:54.573 回答