Html contenteditable边距应用于其他绝对定位元素
我有一个contenteditable div,并将另一个绝对定位元素(一个小框)放在上面 奇怪的是:在Chrome中,Html contenteditable边距应用于其他绝对定位元素,html,google-chrome,css,Html,Google Chrome,Css,我有一个contenteditable div,并将另一个绝对定位元素(一个小框)放在上面 奇怪的是:在Chrome中,padding right属性一直应用于小框,即使它不在CSS中。此外,填充不会应用于contenteditable 这是一个Chrome bug吗?我确信我做得对: <div contenteditable=true>hello</div> <div id=closer></div> 你好 及 div[内容可编辑]{
padding right
属性一直应用于小框,即使它不在CSS中。此外,填充不会应用于contenteditable
<div contenteditable=true>hello</div>
<div id=closer></div>
你好
及
div[内容可编辑]{
边框:1px实心#900;
宽度:200px;
溢出:隐藏;
空白:nowrap;
padding right:20px;/*这个padding right
实际上并没有应用到这个小盒子上,只是看起来像它
右边的填充将增加contenteditable div的宽度,使其220px
变宽
您的小div位于绝对位置,宽度为20px
,左侧为180px
,这会导致右侧出现20px
间隙-但这不是填充的右侧
。您只需将小盒子上的左侧:180px
更改为左侧:200px
,或者将宽度:180px
更改为内容可编辑分区的宽度:160px
右边的填充
实际上并没有应用到小盒子上,只是看起来像它
右边的填充将增加contenteditable div的宽度,使其220px
变宽
您的小div位于绝对位置,宽度为20px
,左侧为180px
,这会导致右侧出现20px
间隙-但这不是填充的右侧
。您只需将小盒子上的左侧:180px
更改为左侧:200px
,或者将宽度:180px
更改为内容可编辑分区的宽度:160px
您的右键填充:20px
实际上使您的200px内容可编辑div 220px。
因此,如果您将第二个div 200px设置为左侧,而不是180px,它将完美地对齐
您的右键填充:20px
实际上使您的200px内容可编辑div 220px。
因此,如果您将第二个div 200px设置为左侧,而不是180px,它将完美地对齐
接受霍伦的回答,感谢你的解释,让我意识到发生了什么
我的代码没有做我认为它应该做的事情的真正原因是darn box模型的改变。我同意,内容框
的W3C box模型对我来说是违反直觉的。填充
应该在内容内部
使用边框框
,一切正常。接受霍伦的回答,感谢你提供的解释,让我意识到发生了什么
我的代码没有做我认为它应该做的事情的真正原因是darn box模型的改变。我同意,内容框
的W3C box模型对我来说是违反直觉的。填充
应该在内容内部
使用边框框
,一切正常。这是一个问答网站而不是c&p网站希望你意识到,当你键入答案时,至少还有一个人在做同样的事情。别傻了,你的答案对复制它的人来说不是那么聪明:)这是一个问答网站而不是c&p网站希望你意识到,当你在那里键入答案时至少还有一个人在做同样的事情。别傻了,你的答案对别人来说并不是那么高明:)
div[contenteditable] {
border:1px solid #900;
width:200px;
overflow:hidden;
white-space:nowrap;
padding-right:20px; /* <- the wascawwy wabbit */
}
#closer {
position:absolute;
border:1px solid #090;
width:20px;
height:20px;
top:0px;
left:180px;
}
body {padding:0;margin:0;}