代码之家  ›  专栏  ›  技术社区  ›  Piotr Findeisen

为什么在IE7的表格布局中输入宽度100%自动展开?

  •  0
  • Piotr Findeisen  · 技术社区  · 14 年前

    我有一个具有约束宽度的表和一个具有百分比宽度的表单元格。在牢房里我 input textarea 具有 style="width:100%" ,没有任何边距、填充或边框,但内容较长 没有空格 . 为什么IE7和IE6要扩展输入以匹配内容长度?

    应用 table-layout: fixed 到表不是一个选项——我在列上转发扩展以保留其内容(例如,具有输入标签的列应与标签长度匹配)。

    下面是完整的例子。我已经检查过了 有效的 以标准模式呈现的HTML5。

    <!doctype html>
    <meta charset="utf-8" />
    <title>ie6 ie7 input bug</title>
    <style>
    
      input, textarea {
        width: 100%;
        margin: 0; padding: 0; border: 0;
      }
    
      table {
        background: yellow;
        width: 500px;
      }
    
    </style>
    <body>
      <table>
        <tr>
          <td style="width: 15%;">
            <input value="VeryLongTextWithoutSpaces" />
          </td>
          <td> <br/><br/><!-- give height --> </td>
        </tr>
      </table>
      <br/> <!-- textarea example -->
      table>
        <tr>
          <td style="width: 15%;">
            <textarea>VeryLongTextWithoutSpaces</textarea>
          </td>
          <td> <br/><br/><!-- give height --> </td>
        </tr>
      </table>
    </body>
    
    1 回复  |  直到 14 年前
        1
  •  0
  •   Community taleinat    7 年前

    我发现申请 line-height 输入帮助 如果 输入从不包含长单词。 这对我来说也许足够了 (我可以计算出正确的线高),但欢迎使用其他解决方案,因为可能更适合其他解决方案。

    我终于在这里找到了解决办法 textarea with 100% width ignores parent element's width in IE7 :添加野蛮 word-break:break-all; 是一个解决方案。