当前位置: 首页 > 知识库问答 >
问题:

em不能在IE和Opera中工作的文本区

龙俊德
2023-03-14

这是我第一次尝试在'em'测量中做一个完整的网页布局。我正在建立一个实时预览减价编辑器。

这个页面在Firefox和chrome中运行得很好,但是在IE(我有IE9)和Opera(昨晚更新)中,文本区的边界明显地被拍了出来。在Opera中,textarea的边框也没有呈现圆角。(文本区域显示圆角但不显示边框)

这是textarea的css

#pad {
    background-color:#BBBB99;
    background-image:url("../img/edit.png");
    border-color:rgba(32, 32, 52, 0.39);
    border-radius:1em 1em 1em 1em;
    font-size:1.3em;
    height:33.3em;
    margin:0.3em;
    outline:medium none;
    padding:0.9em 0.7em;
    resize:none;
    width:26em;
    text-align: left;

}

这是html代码段

<div class='container'>
  <div id='left'>
    <textarea id = 'pad' wrap="on" ></textarea>
  </div>

  <div id='right'>
    <div id='preview'></div>
  </div>
</div>

我在正文中设置了'font:100%'。这里是演示的链接,如果你需要检查。

共有1个答案

时仰岳
2023-03-14

我认为这个问题是由于#pad中字体大小的变化引起的。

当设置基本字体大小(例如18px)时,所有子元素都将1em视为18px。但是,如果将其中一个子项中的字体大小更改为1.2em,则嵌套在该子项中的所有子元素将开始将1em视为22px:

body {
    font-size: 18px;
}

.parent {
    font-size: 1em;   /* 18px */
}

.child {
    font-size: 1.2em  /* 22px */
}

.child > .child {
    font-size: 1em;   /* 22px */
}

我认为在Internet Explorer中发生的情况是,在计算#padwidth之前,字体大小被更改为1.2em。因此Firefox和Chrome的宽度是26*18px,而IE中的宽度是26*22px

为了解决这个问题,我将宽度设置为百分比,而不是固定的em度量值。

编辑

关于歌剧中的圆角问题;似乎Opera并没有考虑到既没有设置边框宽度也没有设置边框样式这一事实。

尝试将border-color更改为border:1px固体rgba(32,32,52,0.39);,看看这是否解决了您的问题。

 类似资料:
  • 我创建了一个简单的动画来使用webkit属性和CSS3在网站上旋转图像。 这里是样式css(它只适用于div) 现在的结果是,在Mozilla Firefox,Chrome和Safari上,它都能正常工作,但在Opera和Internet explorer上我看不到任何动画。

  • 我有一个svg,它有两条路径,一条对角线和一个小圆。它们的笔画颜色引用了defs中的linearGradient。在Chrome,Firefox和Safari上,小圆圈呈现。但是在Edge和IE 11上,小圆圈并没有将url路径连接到线性渐变的id上,如果我将它的stroke属性更改为颜色,那么它就会呈现,但是我想使用url值。 这里也有代码接口链接

  • 希望我们能尽快解决这个问题: 我的reactjs项目在构建和部署后,正在chrome和firefox上工作--在windows和Android上。然而,在IE、Edge和Safari(在IOS上也是chrome)上,我会得到一个带有以下错误的空白页: 对于IE:

  • 问题内容: 在我的聊天应用程序中,我需要在关闭应用程序时从user确认。 所以我使用了确认警报和logout()。 但是这两个功能都可以在IE和Chrome中使用。(应用程序运行正常) 在Opera中无法使用,并且我的消息不会在Firefox中显示。 在Safari,Opera和Firefox中不起作用。 我的javaScript代码为 我也尝试过使用JQuery同样的功能, 问题答案: 通过将A

  • 我将元素的ID存储在变量中。问题是什么?

  • 将信号器与IE 11一起使用时,会发生奇怪的行为。脚本: 我们有一些调度程序类型功能,其中调度程序执行一些操作,其他用户可以实时看到更新(查询)。发送的参数可以在IE客户端进行更新,而无需打开开发人员控制台。 但是一个不工作的方法(-获取查询结果-这是一个服务器 以下是我尝试过的: 为什么JavaScript只在IE中打开一次开发者工具后才起作用? 信号员:在IE9下,在我点击F12之前,客户端无