标签自动宽度使得td更宽

时间:2014-04-21 17:24:13

标签: css html5 css3 stylesheet

我在表td中有一个标签,问题是当标签宽度大于td宽度时,标签只在一行中增长,使得td更大,不允许看到所有文本。我想要的是当标签的宽度高于其容器时,标签会生成其他行。

css
.pdata {
font-size: 10px;
}

<table valign="top" cellspacing="0" cellpadding="0" border="0" height="150">
    <tbody>
        <tr valign="top">
            <td class="profile-company-text">

                <label class="pdata" ><label class="bold" style="width: 140px; display: inline-block">Email: </label><label data-bind="text: Email"></label>
                    <br>
                </label>

                </span>
            </td>
        </tr>
    </tbody>
</table>

1 个答案:

答案 0 :(得分:0)

听起来正如您所看到的那样,您的浏览器正在调整表格大小,以便为您的内容提供“最佳”。如果您要对包含标签的表列强制执行最大宽度,请使用CSS max-width属性。

不幸的是,由于几个原因,确实没有办法明确回答你的问题。

在上面给出的示例中,“电子邮件”标签几乎永远不会包装(缺少您未提供的其他一些样式),因为它是一个单词,没有可断点,如连字符点或空格。为了最大限度地减少混淆,您应该提供更多信息,例如所需输出的模型,以及实际再现不良行为的代码示例。

此外,标记有点混乱。如果您正在使用某种类型的发电机,请确保它已正确配置。我看到一些结构良好的问题:

  1. 嵌套标签不正确。标签应仅包含 不可标记的内容,而不是标签所使用的输入 相关联。
  2. 您的结束span标记没有开放span
  3. 最后,您还应该考虑一些最佳实践,以使您的代码更具可读性,更具语义性,更易于维护:

    1. 不要使用内联样式(例如,元素上的style属性)。在标记中根据需要分配类,并使用文档style中的外部样式表或head块来应用演示样式。
    2. 与上述类似,请勿在表格中使用cellspacingcellpadding等属性。请改用相应的CSS属性。
    3. 您的label没有关联的input元素。这不是世界上最糟糕的事情,但label的全部目的是为表单输入提供上下文。如果您只想要一个文本块,请使用更合适的元素,例如p