0

谁能告诉我为什么第一个文本框在下面的 HTML/CSS 中没有对齐?(此处为 JSFiddle)。

<div class="gift_code_fields">
    <div class="gift_code_line">
        <div class="gift_code_line_header">
            <label for="1">1</label><span>:</span>
        </div>
        <input class="gift_code" id="gift_code_1" name="gift_code_1" type="text">

    </div>
    <div class="gift_code_line">
        <div class="gift_code_line_header">
            <label>2</label>
            <span>:</span>
        </div>
        <input type="text" class="gift_code">
    </div>
    <div class="gift_code_line">
        <div class="gift_code_line_header">
            <label>3</label>
            <span>:</span>
        </div>
        <input type="text" class="gift_code">
    </div>
    <div class="gift_code_line">
        <div class="gift_code_line_header">
            <label>4</label>
            <span>:</span>
        </div>
        <input type="text" class="gift_code">
    </div>
</div>​
.gift_label{
  width: 30px;
  display: inline-block;
  font-weight: bold;
}

.gift_code_section{
  margin-bottom: 30px;
}

.gift_code_choose{
  width: 100px;
  float: left;
}

.gift_code_fields{
  width: 300px;
  display: inline-block;
}

.add_gift_code{
  cursor: pointer;
}

.gift_code {
  display: inline;
}

.gift_code_line_header{
  display: inline;
  width: 20px;
  margin-right: 10px;
}​
4

4 回答 4

3

这是因为您已将<span>for 冒号放在了除第一个之外的所有内容的新行上:

<label for="1">1</label><span>:</span>

<label for="2">2</label>
<span>:</span> 

这是因为,根据 HTML 规范,任何空白字符序列都被视为单个空格。

于 2012-06-22T14:53:23.323 回答
2

因为你在之前缺少换行:

你有

<label for="1">1</label><span>:</span>

代替

<label for="1">1</label>
            <span>:</span>

至于其他线路。

别客气。

于 2012-06-22T14:52:06.710 回答
2

http://jsfiddle.net/ughjk/6/

.gift_code_line_header{
    display: inline-block;
  }

除非它是块或内联块元素,否则不会应用您为标签包装器设置的宽度。

于 2012-06-22T14:55:31.957 回答
0

代替

<div class="gift_code_line">
    <div class="gift_code_line_header">
        <label for="1">1</label><span>:</span>
    </div>
    <input class="gift_code" id="gift_code_1" name="gift_code_1" type="text">

</div>

和:

<div class="gift_code_line">
    <div class="gift_code_line_header">
        <label for="1">1</label>
        <span>:</span>
    </div>
    <input class="gift_code" id="gift_code_1" name="gift_code_1" type="text">

</div>
于 2012-06-22T14:54:31.190 回答