我正在使用bootstrapTable并遇到以下问题:
在我的表格的每一行中都会显示一张预览图片,以便行高度大于“正常”,其余列中的内容放在顶部。我想垂直对齐这些列中的文本/按钮/复选框。通过对列使用选项align: 'center'
和valign: 'middle'
,可以实现此目的 - 至少对于“正常”列。它对包含复选框和详细信息图标('plus'-icons)的列没有影响。
我添加了
.bs-checkbox {
text-align: center !important;
vertical-align: middle !important;
}
到我的css文件并收到了所需的结果。但是detail-icon
类的模拟方式出错了。我在Stackoverflow上发现了类似的问题 - 但答案对我没有帮助。
有人有想法解决我的问题吗?
这是一个例子:
var data = [
{
"id": 0,
"name": "Item 0",
"price": "$0",
"preview": '<img src="https://www.w3schools.com/images/lamp.jpg" alt="Lamp" height="50">'
},
{
"id": 1,
"name": "Item 1",
"price": "$1",
"preview": '<img src="https://www.w3schools.com/images/lamp.jpg" alt="Lamp" height="50">'
},
{
"id": 2,
"name": "Item 2",
"price": "$2",
"preview": '<img src="https://www.w3schools.com/images/lamp.jpg" alt="Lamp" height="50">'
}
];
$(function () {
$('#table').bootstrapTable({
columns: [
{
field: 'state',
checkbox: true,
align: 'center',
valign: 'middle'
},
{
field: 'id',
title: 'ID',
align: 'center',
valign: 'middle',
sortable: true
},
{
field: 'name',
title: 'Name',
sortable: true,
align: 'center',
valign: 'middle',
editable: {
type: 'text',
title: 'Name',
validate: function (value) {return '';}
}
},
{
field: 'price',
title: 'Price',
align: 'center',
valign: 'middle',
editable: {
type: 'text',
title: 'Price',
validate: function (value) {return '';}
}
},
{
field: 'preview',
title: 'Preview',
align: 'center',
valign: 'middle'
}
],
data: data
});
});
.bs-checkbox {
text-align: center !important;
vertical-align: middle !important;
}
/* won't work:*/
.detail-icon {
text-align: center !important;
vertical-align: middle !important;
}
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<script src="https://rawgit.com/wenzhixin/bootstrap-table/master/src/bootstrap-table.js"></script>
<script src="https://rawgit.com/vitalets/x-editable/master/dist/bootstrap3-editable/js/bootstrap-editable.js"></script>
<script src="https://rawgit.com/wenzhixin/bootstrap-table/master/src/extensions/editable/bootstrap-table-editable.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<link href="https://rawgit.com/wenzhixin/bootstrap-table/master/src/bootstrap-table.css" rel="stylesheet"/>
<link href="https://rawgit.com/vitalets/x-editable/master/dist/bootstrap3-editable/css/bootstrap-editable.css" rel="stylesheet"/>
<div class="container">
<div id="toolbar">
<button id="new_btn" class="btn btn-success">
<i class="glyphicon glyphicon-plus"></i> New
</button>
<button id="delete_btn" class="btn btn-danger" disabled>
<i class="glyphicon glyphicon-trash"></i> Delete
</button>
</div>
<table id="table"
data-toolbar="#toolbar"
data-search="true"
data-show-pagination-switch="true"
data-detail-view="true"
data-detail-formatter="detail_formatter"
data-minimum-count-columns="2"
data-pagination="true">
</table>
</div>
答案 0 :(得分:0)
您实际上想要在表格单元格上设置这些属性,而不是单元格中的元素。
#table td {
vertical-align: middle;
text-align: center;
}
这应该可以解决问题。