1

我正在尝试制作一个复选框列表,同样我使用了这个语句
<?php echo CHtml::checkBoxList('interests', '', array('PHP', 'MySQL', 'JavaScript', 'CSS', 'Yii Framework')); ?>

但它给了我输出名称('PHP','MySQL','JavaScript','CSS','Yii Framework')指定复选框位于框下方,而我希望名称与它们水平放置

4

4 回答 4

2

解决问题的简单方法是您可以在复选框列表中定义输入复选框的样式,例如:

#interests input {
    float: left;
    margin-right: 10px;
}

您的输入(复选框)和标签将是水平的。

于 2013-09-21T16:29:02.343 回答
1

好的 - 我让它工作了。这是我用的。分隔符会去掉行间距,float实现框与描述在同一行。

.checkBoxClass
{
	float: left;
}
<div id="itemGroups" class="itemGroups">
	<?php echo $form->checkBoxList($model, 'groups', $group_items,  
		array(
			'separator' => '',
			'class'=>'checkBoxClass',
		)
	);?>
</div>

于 2014-09-18T22:57:38.320 回答
1

你不需要自定义 CSS 来做到这一点。Yii 有一个内置的“分隔符”属性。您可以通过以下方式轻松摆脱换行符:

echo CHtml::checkBoxList('...','...', array(...),
  array(
    'separator'=>'', //the default was a line break...
    )
);
于 2013-09-22T04:43:00.007 回答
0
echo CHtml::checkBoxList(
    'interests', 
    '', 
    array('PHP', 'MySQL', 'JavaScript', 'CSS', 'Yii Framework'), 
    array('labelOptions' => 
           array(
                 'style' => "display: inline-block"
           )
    )
); 

或者更好地在你的 CSS 文件中指定一些类

.mylabelclass {
 display: inline-block
}

并使用

array('labelOptions' => 
       array(
               'class' => "mylabelclass"
       )
)
于 2013-09-21T15:54:27.533 回答