首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“`contenteditable = true`”在FireFox中的高度问题

“`contenteditable = true`”在FireFox中的高度问题
EN

Stack Overflow用户
提问于 2014-05-07 23:33:54
回答 2查看 2.5K关注 0票数 10

当有带div的空contenteditable="true"

CSS:

代码语言:javascript
复制
[contenteditable="true"] {
    border: 1px dashed #dedede;
    padding: 3px;
}

HTML:

代码语言:javascript
复制
<div contenteditable="true">
    <!-- blank by default -->
</div>

在IE和Chrome中,它显示的高度像一个正常的输入字段与小填充。在Firefox中,它只显示了我在样式中添加的3px填充。W/o,它会塌陷,只有边框那么高。

你知道这是不是火狐的bug吗?你能提出解决办法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-07 23:41:40

解决办法:

代码语言:javascript
复制
[contenteditable='true']:before {
    content: "\feff ";
}

CSS2 section 10.6.3

元素的高度是从其顶部内容边缘到第一个适用的位置的距离,如下所示:

  1. 最后一行框的底部边缘,如果该框用一行或多行建立内联格式上下文。
  2. 如果子元素的底部边缘没有与元素的底部边缘一起折叠,则其最后一个流子的底部边缘(可能会折叠)的底部边缘。
  3. 在流中的最后一个子节点的底部边框,其上边框不与元素的底部边相折叠。
  4. 零,否则

对于这个空洞无物,

1到3不适用,因为div是空的。它没有线盒也没有孩子。因此,第4项适用。

解决方案强制在div内至少一个行框,使其具有非零高度。

票数 21
EN

Stack Overflow用户

发布于 2014-05-07 23:43:31

在firefox中,这对我来说很好

http://jsfiddle.net/D6D6A/

html:

代码语言:javascript
复制
<div contenteditable='true'></div>

css :改为黑色边框,更容易看到

代码语言:javascript
复制
[contenteditable='true'] {
    border: 1px dashed #000;
    padding: 3px;
}

注意,如果将填充更改为0px,则它没有高度。然而,与3px填充,它的工作方式,它应该。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23530231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档