2011-04-27 11 views
0

ネストされたdivに関する問題があります。両方のdivが編集可能です。 問題は、divにコンテンツを書き込んだ後に、内部(子)divの開始位置にカーソルを置き、backspaceを押すと親div内のテキストを移動する場合です。 どうしてですか?私はこれがデフォルトの動作であることを知っています。 この問題の解決方法は何ですか?ネストされたDivsバックスペースの問題

<head> 
    <title>----</title> 
</head> 

<body style="100%"> 
    <br /> 
    <br /> 
    <br /> 

<div contenteditable="true" style="min-height:80%; min-width:100%; background-color:#00ffff"> 
    <div id="test" style="margin:auto; width:100%; background-color:#e3e3e3; 
border-width:5px; border-color:e9e9e9; word-wrap: break-word; overflow:hidden; 
min-height:25px;" contenteditable="true"> 

     Child Div Text here!!! 

    </div> 
        Parent Div Text Here 
</div> 

</body> 

に関して、 アーメド

+0

:あなたはcssファイルを持っていた場合には、次のようになります子divで、親divが正しく移動しますか? –

+0

私はjsFiddleを作った:http://jsfiddle.net/3Zjvh/子の左端にあり、バックスペースを押すと、子divが削除されます。 –

+0

私はあなたがジレンマだと思っています。親divのテキストを子divのテキストにマージするのをやめさせようとしましたが、成功しませんでした。私はそれが終わったのを見ましたが。これらがあなたに使用されているかどうか不明... http://blog.whatwg.org/the-road-to-html-5-contenteditableおよびhttp://dev.opera.com/articles/view/rich-ブラウザで編集するhtml-part-1 / – Mindthetic

答えて

0

これはありません完全に正しいかもしれないが、私はあなたのdiv sがシフトしている理由はので、あなたの幅を設定する方法のためだと思います子供のdiv。子供のwidth:100%divとすると、そのサイズはdivとなり、すべてのスペーシングが含まれます。また、位置属性も指定していないので、親divは子のすぐ隣に置かれますdiv。つまり、子divの位置と幅(あなたの' 'の番号で変更される)への変更は、親divの位置も変更されます。親divを移動させたくない場合は、A)子divのセットwidthを指定するか、またはB)divのそれぞれの位置を設定する必要があります。あなたは、スペースの量を削除する場合は、意味

A)

/* You would need to add IDs to each div so I am just going to do child */ 
#child 
{ 
    width: 200px; /* Set number */ 
} 

OR

B)

#child 
{ 
    position: absolute /* Or however you wish to do this */ 
    top: 10px; /* Some number */ 
    left: 10px; /* Again whatever number */ 
} 
関連する問題