Php 将任意数量的引导列居中
我想将我的引导列居中。我可以这样做:Php 将任意数量的引导列居中,php,css,twitter-bootstrap,twitter-bootstrap-3,Php,Css,Twitter Bootstrap,Twitter Bootstrap 3,我想将我的引导列居中。我可以这样做: 可乐 第2列 第3列 但是,列的数量是数据驱动的,因此我无法提前知道正确的偏移量。是否有一个拉中心或类似的东西?我已经编写了一个算法来计算适当的偏移量: function boostrap_calc_offset($ind, $nb_total, $nb_per_row) { $offsets = array(); foreach ($nb_per_row as $size => $n) { $offsets[$si
可乐
第2列
第3列
但是,列的数量是数据驱动的,因此我无法提前知道正确的偏移量。是否有一个
拉中心
或类似的东西?我已经编写了一个算法来计算适当的偏移量:
function boostrap_calc_offset($ind, $nb_total, $nb_per_row) {
$offsets = array();
foreach ($nb_per_row as $size => $n) {
$offsets[$size] = 0;
if ($ind % $n == 0) {
if ($nb_total - $ind - $n > 0)
$in_this_row = $n;
else
$in_this_row = $nb_total - $ind;
if ($in_this_row < $n) {
$o = (12 - (12 / $n) * $in_this_row) / 2;
$offsets[$size] = $o;
}
}
}
$offset = '';
foreach ($offsets as $size => $o) {
$offset .= ' col-' . $size . '-offset-' . $o;
}
return $offset;
}
函数引导计算偏移量($ind,$nb_总计,$nb_每行){
$offset=array();
foreach($nb\u每行$size=>$n){
$offset[$size]=0;
如果($ind%$n==0){
如果($nb_总计-$ind-$n>0)
$in_this_row=$n;
其他的
$in_此行=$nb_总计-$ind;
如果($在本行<$n){
$o=(12-(12/$n)*$in_this_row)/2;
$offset[$size]=$o;
}
}
}
$offset='';
foreach($size=>$o的偏移量){
$offset.='col-'.$size.-offset-'.$o;
}
返回$offset;
}
如何使用它:
$nb_per_row = array('lg' => 6, 'sm' => 3, 'xs' => 2);
$nb = count($data);
$i = 0;
foreach ($data as $datum) {
$content .= '<div class="col-lg-2 col-sm-4 col-xs-6 ' . boostrap_calc_offset($i, $nb, $nb_per_row) .'">...</div>';
$i++;
}
$nb_每行=数组('lg'=>6,'sm'=>3,'xs'=>2);
$nb=计数($data);
$i=0;
foreach($数据作为$数据){
$content.='…';
$i++;
}
覆盖使.col-*
浮动的默认引导样式,使其显示:内联块编码>,然后应用文本对齐:居中代码>到父元素
[class^=“col-”],
[类别*=“列-”]{
浮动:无!重要;
显示:内联块;
}
.行{
文本对齐:居中;
背景色:#ddd;
}
可乐
第2列
第2列
第3列
类似的问题:(但也没有动态方面)谢谢,这看起来容易多了。(我删除了偏移量…)
$nb_per_row = array('lg' => 6, 'sm' => 3, 'xs' => 2);
$nb = count($data);
$i = 0;
foreach ($data as $datum) {
$content .= '<div class="col-lg-2 col-sm-4 col-xs-6 ' . boostrap_calc_offset($i, $nb, $nb_per_row) .'">...</div>';
$i++;
}