0

有以下PHP代码:

<div class="row">
<div class="captcha">
<? $this->widget('CCaptcha', array('showRefreshButton'=>false)); ?>
</div><?php echo $form->textField($model, 'verifyCode', array('class'=>'resume-form-input')); ?>
<?php echo CHtml::submitButton('Done', array('class'=>'button-style')); ?>
</div>

如您所见,此“行”包含验证码小部件、文本字段、提交按钮。但是这段代码看起来很糟糕。如果我按以下方式格式化它:

<div class="row">
<div class="captcha">
<? $this->widget('CCaptcha', array('showRefreshButton'=>false)); ?>
</div>
<?php echo $form->textField($model, 'verifyCode', array('class'=>'resume-form-input')); ?>
<?php echo CHtml::submitButton('Done', array('class'=>'button-style')); ?>
</div> 

我在文本字段前多了一个空格。有什么问题?

4

1 回答 1

1

在没有看到渲染输出的情况下,我猜是因为input默认行为类似于display: inlineorinline-block元素。这意味着像换行符这样的空格会被渲染。把它包在另一个里面<div/>

<div class="row">
    <div class="captcha">
        <? $this->widget('CCaptcha', array('showRefreshButton'=>false)); ?>
    </div>
    <div>
        <?php echo $form->textField($model, 'verifyCode', array('class'=>'resume-form-input')); ?>
        <?php echo CHtml::submitButton('Done', array('class'=>'button-style')); ?>
    </div>
</div>

在不知道您希望如何显示的情况下,很难说,但听起来您希望同时应用于float: leftinner<div/>或至少div.captcha

.captcha {
    float: left;
}

这是一个演示。(我假设渲染的代码看起来像这样)

如果您还想摆脱文本字段和按钮之间的空间,请在这个 Fiddlefloat: left中给他们一个太喜欢的地方。

于 2013-05-05T20:29:38.453 回答