【问题标题】:Why no auto line break in span?为什么跨度没有自动换行?
【发布时间】:2019-04-03 20:57:24
【问题描述】:

具有内容可编辑范围的两个表。

第一个在键入时自动换行,另一个没有。为什么?添加了两者都有效的简单比较表。

奇怪,有什么想法为什么会这样?

span {width: 100% !important;background-color:#e6e6e6;display: inline-block;}	 
.k2table {table-layout: fixed; width:600px;border-collapse: collapse}
.k2table tr {height:18px} 
.k2table td {text-align: left;padding:1px;white-space: nowrap;} 
.k2table td+td {text-align: right;width:70px;} 
.k2table td+td+td {text-align: right;width:70px;} 
.k2table td+td+td+td {text-align: right;width:110px;}
.k2table td+td+td+td+td {text-align: right;width:110px;}
.k2table td+td+td+td+td+td {text-align: right;width:110px;}
.princ {table-layout: fixed; width:600px;border-collapse: collapse}
.princ tr {line-height:18px} 
.princ td {text-align: left;padding:1px;white-space:} 
<table class="k2table">
<tr><td colspan="6"><span contenteditable="true"></span></td></tr>
<tr><td><br></td><td></td><td></td><td></td><td></td><td></td></tr>
</table>

<table class="princ ht">
<tbody><tr><td><span contenteditable="true"></span></td></tr>
<tr><td><br></td></tr>
</tbody></table>

Simple comparison
<table width="400">
  <tr>
  <td>
  <span contenteditable="true" style="display:block; background-color:red; width:100%;">xxxx</span>
  </td>
  </tr>
</table>

<table width="400">
  <tr>
  <td colspan="2">
  <span contenteditable="true" style="display:block; background-color:red; width:100%;">xxxx</span>
  </td>
  </tr>
  <tr>
  <td>
  1
  </td>
    <td>
  2
  </td>
  </tr>

  
</table>

【问题讨论】:

    标签: html contenteditable line-breaks


    【解决方案1】:

    这是因为您的 第二个表的 CSS 规则缺少其 white-space 属性的 nowrap。这里参考的是导致两个表之间差异的两个 CSS 规则。

    .k2table td {text-align: left;padding:1px;white-space: nowrap;}

    .princ td {text-align: left;padding:1px;white-space:}

    您可能希望将 .pric td CSS 选择器更改为以下内容:

    .princ td {text-align: left;padding:1px;white-space:nowrap}

    那么两个表的工作方式相同。为了完整起见,我使用上述修复编辑了您的代码沙箱

    span {width: 100% !important;background-color:#e6e6e6;display: inline-block;}	 
    .k2table {table-layout: fixed; width:600px;border-collapse: collapse}
    .k2table tr {height:18px} 
    .k2table td {text-align: left;padding:1px;white-space:nowrap;} 
    .k2table td+td {text-align: right;width:70px;} 
    .k2table td+td+td {text-align: right;width:70px;} 
    .k2table td+td+td+td {text-align: right;width:110px;}
    .k2table td+td+td+td+td {text-align: right;width:110px;}
    .k2table td+td+td+td+td+td {text-align: right;width:110px;}
    .princ {table-layout: fixed; width:600px;border-collapse: collapse}
    .princ tr {line-height:18px} 
    .princ td {text-align: left;padding:1px;white-space:nowrap} 
    <table class="k2table">
    <tr><td colspan="6"><span contenteditable="true"></span></td></tr>
    <tr><td><br></td><td></td><td></td><td></td><td></td><td></td></tr>
    </table>
    
    <table class="princ ht">
    <tbody><tr><td><span contenteditable="true"></span></td></tr>
    <tr><td><br></td></tr>
    </tbody></table>
    
    Simple comparison
    <table width="400">
      <tr>
      <td>
      <span contenteditable="true" style="display:block; background-color:red; width:100%;">xxxx</span>
      </td>
      </tr>
    </table>
    
    <table width="400">
      <tr>
      <td colspan="2">
      <span contenteditable="true" style="display:block; background-color:red; width:100%;">xxxx</span>
      </td>
      </tr>
      <tr>
      <td>
      1
      </td>
        <td>
      2
      </td>
      </tr>
    
      
    </table>

    希望对您有所帮助!

    【讨论】:

      猜你喜欢
      • 2011-01-02
      • 2017-11-06
      • 1970-01-01
      • 2012-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-03
      • 1970-01-01
      相关资源
      最近更新 更多