javascript - IE8中的CSS问题

标签 javascript html css

我在 IE8 中使用 CSS 时遇到了这个问题。如果我使用 CSS,文本字段不会显示在网页上。如果我不使用 CSS,则会显示文本字段。我所做的只是将样式从 HTML 中删除到 3 个 DIV 的 CSS 文件中。有人知道我为什么会出现这种奇怪的行为吗?

下面的部分确实有效。 “bannerOption1Div”、“bannerOption2Div”和“bannerOption3Div”以及 HTML 中的样式。文本字段显示并对齐。

<td align=center>
  <div class="bannerWrapper">
    <div id="bannerOption1Div"  width="10%" align=center style="display:none">
      <input disabled=true type="text" name="bannerOption1Source" id="bannerOption1SourceId" size="20" style="height:20px; font-size: 12px;  padding-bottom:0px; margin-bottom:0px;"/>
      <font id="bannerOption1TextId" color="white" size="2" face="arial" style="font-size: 11px; padding-top:0px; margin-top:0px; display:block;">None</font>
    </div>
    <div id="bannerOption2Div"  width="10%" align=center style="display:none">
      <input disabled=true type="text" name="bannerOption2Source" id="bannerOption2SourceId" size="20" style="height:20px; font-size: 12px; padding-bottom:0px; margin-bottom:0px;"/> 
      <font id="bannerOption2TextId" color="white" size="2" face="arial" style="font-size: 11px; padding-top:0px; margin-top:0px; display:block;">None</font>
    </div>
    <div id="bannerOption3Div"  width="10%" align=center style="display:none">
      <input disabled=true type="text" name="bannerOption3Source" id="bannerOption3SourceId" size="20" style="height:20px; font-size: 12px; padding-bottom:0px; margin-bottom:0px;"/>
      <font id="bannerOption3TextId" color="white" size="2" face="arial" style="font-size: 11px; padding-top:0px; margin-top:0px; display:block;">None</font>
    </div>
  </div>
</td>

现在,我为“bannerOption1Div”、“bannerOption2Div”和“bannerOption3Div”div 所做的所有工作都将它们的样式移动到名为“bannerSection”的 CSS 类中,这会导致问题。不显示文本字段!任何帮助表示赞赏。谢谢。 哦,忘了,我有一个 javascript 监听器,它会在页面加载完成后显示这些文本字段。因此它将在页面加载完成后删除 display:none 。这也适用于上面的 HTML。

下面是我的 CSS 和 HTML。

.bannerSection{
    width: 10%;
    text-align: center;
    display: none;
}

.bannerWrapper{
    margin-left: 10px;
    float:left;
    height: 100px;
}


<td align=center>
  <div class="bannerWrapper">
    <div id="bannerOption1Div"  class="bannerSection">
      <input disabled=true type="text" name="bannerOption1Source" id="bannerOption1SourceId" size="20" style="height:20px; font-size: 12px;  padding-bottom:0px; margin-bottom:0px;"/>
      <font id="bannerOption1TextId" color="white" size="2" face="arial" style="font-size: 11px; padding-top:0px; margin-top:0px; display:block;">None</font>
    </div>
    <div id="bannerOption2Div"  class="bannerSection">
      <input disabled=true type="text" name="bannerOption2Source" id="bannerOption2SourceId" size="20" style="height:20px; font-size: 12px; padding-bottom:0px; margin-bottom:0px;"/> 
      <font id="bannerOption2TextId" color="white" size="2" face="arial" style="font-size: 11px; padding-top:0px; margin-top:0px; display:block;">None</font>
    </div>
    <div id="bannerOption3Div"  class="bannerSection">
      <input disabled=true type="text" name="bannerOption3Source" id="bannerOption3SourceId" size="20" style="height:20px; font-size: 12px; padding-bottom:0px; margin-bottom:0px;"/>
      <font id="bannerOption3TextId" color="white" size="2" face="arial" style="font-size: 11px; padding-top:0px; margin-top:0px; display:block;">None</font>
    </div>
  </div>
</td>

更新:好吧,一些回答指出了 Javascript 是问题所在。我认为这是真的。所以我在我的 Javascript 中将 DIV 的显示属性从“”切换为“ block ”,现在显示文本字段。但其他两种样式“width:10% 和 text-align: center”仍然被破坏。我是否必须在 Javascript 中再次手动设置它们?它们会被 Javascript 删除吗?

fieldElement.style.display = "block";

最佳答案

我的猜测是您的 javascript 将元素的 style 属性设置为空字符串。
这在样式为内联时有效,但在样式位于 css 中时无效。

如果是这种情况,告诉 javascript 将 display: static; 设置为 style 属性的值应该可行。

关于javascript - IE8中的CSS问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7418482/

相关文章:

html - 覆盖跨度样式

php - 嵌套的 html 元素显示意外的样式

html 相互对齐输入

c# - 仅获取此节点的 InnerText,不包括子节点

html - DIV 标签的 CSS 工作不正常

javascript - 如何在 JavaScript 中将对象数组减少为单一深度?

html - jsPDF - 将 html 页面准确捕获为 PDF

javascript - 如何将点击的视频 block 打开到弹出模式?

javascript - 删除 JQuery 中的当前事件处理程序?

javascript - 动态地将页面加载到 HTML 中