0

我已经研究这个问题几个星期了。请注意所附图片。 IE7并且只有IE7不会在我的 php 应用程序中完全/正确地呈现 textarea 字段。正如您在附件中看到的那样,某些下拉字段也会发生这种情况。由于某种原因,右侧边框不会显示,如果此问题继续存在,具有 IE7 且无法/不会升级的潜在客户将无法使用我的应用程序。

我在冲浪时发现了其他几个渲染问题;有提到使用缩放,但没有效果,另一个提到添加填充,仍然没有效果。我发现没有什么能真正解决这个特定的问题/错误。

是否有任何 CSS 专家可以提供对此的任何见解。任何帮助将不胜感激。

问题图片在此处输入图像描述

这是一个自动生成的 Web 表单。

这是创建 textarea 字段的 php 代码:

case FIELD_TEXT_AREA:
    $fieldHtml = inputOrText($mode, "textarea",
                             $field->getValue(), 
                             array("id"=>$field->getId(),
                             "class"=>"valuetext",
                             "name"=>$field->getId(),
                             "rows"=>"3","cols"=>"60",
                             $jsFunctionCalls),
                             array("class"=>"valuetext"));

这是结果源代码:

               <td valign='top'></td>
           </tr>
      </table>
   </td>
</tr>
<tr id="field-4446">
  <td width='30%' valign='top' align='left' class='labeltext'>Text Area :</td>
  <td width='70%' align='left'>
     <table border='0' style='table-layout:fixed'>
         <tr>
             <td>
               <textarea id="4446" 
                         class="valuetext" 
                         name="4446" rows="3" 
                         cols="60" 0="" > 
               </textarea>
             </td>
4

1 回答 1

0

可能的原因是包含输入框和文本区域的单元格设置了一些固定宽度,因此比字段所需的宽度要小一些。并且可能细胞有overflow: hidden。然后这些字段在右侧被截断。宽度不匹配很可能取决于浏览器,因为它受盒子模型等的影响。

如果您textarea, input { overflow: visible !important }在 CSS 中进行实验设置,您应该会看到它们溢出了多少。由于此时可能无法或不应该更改整体布局,因此最好减少字段的宽度设置。细节取决于现在如何设置宽度。请注意,将宽度设置为 100% 可能会导致这样的问题,而不是修复它。宽度应该比单元格的宽度小几个像素。

于 2012-07-17T14:14:09.857 回答