今天在调试项目的时候遇到一个问题,如何将两个float:left的icon设置到水平居中。
这两个按钮是人为控制出现的,之前的需求是无论出现那个按钮(图中的上下)都要让其出现在左侧,由于我水平有限就使用了float:left
进行排版。
但是样式不好看,要给让其居中,并且不能使用padding
等。
prototypeTable.png
解决方案:
- 可以利用相对定位来解决这个问题
具体思路:
给这两个icon套一个容器,并让容器相对于表格的单元格居中
让这两个icon相对于这个容器居中,使用相对定位,设置左边的留白,使其居中
代码:
<style>
.tablecontainer{
display: block;
margin-top: 200px;
margin-left: 500px;
}
.fl{
float: left;
}
.float_center{
position: relative;
left: 20%;
}
</style>
</head>
<body>
<table id="example" class="display" style="width:100%">
<thead>
<tr>
<th>Name</th>
<th>Position</th>
<th>Office</th>
<th>Age</th>
<th>action</th>
<th>Salary</th>
</tr>
</thead>
<tbody>
<tr>
<td>Tiger Nixon</td>
<td>System Architect</td>
<td>Edinburgh</td>
<td>61</td>
<td>
<div class="text-center">
<span class="glyphicon glyphicon-arrow-up fl float_center" aria-hidden="true"></span>
<span class="glyphicon glyphicon-arrow-down fl" aria-hidden="true"></span>
</div>
</td>
<td>$320,800</td>
</tr>
<tr>
<td>Garrett Winters</td>
<td>Accountant</td>
<td>Tokyo</td>
<td>63</td>
<td>2011/07/25</td>
<td>$170,750</td>
</tr>
</tbody>
解决
result.png