防止在div中形成新行

时间:2015-02-27 08:34:46

标签: php html css

我有以下HTML / PHP注册表单:

<div class="form_block" id="dob-check" style="display:none; float:left">
    <p><label for="sign_up_dob_day">DOB</label> <select name="sign_up_dob_day" id="sign_up_dob_day" class="required"><option value="">-</option><?php for($day = 1; $day <= 31; $day++) : ?>
        <option value="<?php echo $day ?>" <?php echo set_select('sign_up_dob_day', $day, ((is_array($dob) && count($dob) == 3 && $dob[2]==$day)? true : false)); ?>><?php echo $day ?></option>
        <?php endfor; ?>
    </select>
    <select name="sign_up_dob_month" class="required">
        <option value="">-</option>
    <?php $months = getMonthsArray(); ?>
    <?php for($month = 1; $month <= 12; $month++) : ?>
        <option value="<?php echo $month ?>" <?php echo set_select('sign_up_dob_month', $month, ((is_array($dob) && count($dob) == 3 && $dob[1]==$month)? true : false)); ?>><?php echo $months[$month - 1] ?></option>
    <?php endfor; ?>
    </select>
    <select name="sign_up_dob_year" class="required">
        <option value="">-</option>
    <?php for($year = 2005; $year >= 1930; $year--) : ?>
        <option value="<?php echo $year ?>" <?php echo set_select('sign_up_dob_year', $year, ((is_array($dob) && count($dob) == 3 && $dob[0]==$year || (empty($dob[0]) && $year==1990)))? true : false); ?>><?php echo $year ?></option>
    <?php endfor; ?>
    </select>
    <?php echo form_error('sign_up_dob_day'); ?>
    <a class="hand" id="dob-why" onclick="showMessage()"> Why do we need this?</a></p>
</div>

显示如下:

enter image description here

但是,如果用户无法输入DOB,则选择框的格式将完全混乱,如下所示:

enter image description here

我猜是因为在添加所需的&#39;字段时,div的宽度不够?文本。

我尝试过放置一个外部div,但这不起作用。我也尝试过左移,但这也行不通。

我是PHP的新手,因此无法看到如何删除所需的第二个字段&#39;消息 - 这可能有帮助吗?

任何其他想法,例如阻止在div中形成新行?

1 个答案:

答案 0 :(得分:0)

尝试在输入和错误消息上使用display: inline-block而不是display: block

应该解决问题。