CSSを使用してTinyMCEエディターを設定された位置に絶対に配置しようとしています。Chrome では、これで問題なく動作します。ただし、Firefox では、エディターが表示されなくなります。複雑なアプリケーションでこれを行っていますが、非常に単純なテスト ケースで再現できました。
<style type='text/css'>
div.container {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
min-height: 600px;
}
div.container div.text {
border: 1px dashed black;
overflow: hidden;
}
div.container div.text div.mceIframeContainer {
position: absolute;
top: 0px;
left: 0px;
}
</style>
<script type='text/javascript'>//<![CDATA[
Event.observe(window, "load", function(){
function setup()
{
var myTinyMCESettings = {
mode: 'none',
width: '100%',
height: '9000px',
body_class: 'TypeRegion'
};
var editorId = $(document.body).down('div.container div.text div.editor').identify();
tinyMCE.init(myTinyMCESettings);
tinyMCE.execCommand("mceAddControl", true, editorId);
}
setup();
});//]]>
</script>
</head>
<body>
<div class="container">
<div class="text" style="position:absolute;top: 2in; left:2in; width: 2in; height: 3in;">
<div class="editor">Enter text here</div>
</div>
</div>
このテスト ケースの JSFiddle を次に示します。Chrome と Firefox を比較してください。Firefox ではエディターが明らかに欠落していることに注意してください。これは何が原因で、どうすれば修正できますか?
更新: have relative positionを作成しようとしましたtd
が、変更はありません:
div.container div.text table tr td {
position: relative;
}