エディターはChromeでは正常に機能しますが、Safariでは正しくレンダリングされません。 結果のマークアップを見ると、同じようにレンダリングされることすらありません。
SafariでのガターのHTMLは次のようになります。
<div class="ace_gutter">
<div class="ace_layer ace_gutter-layer ace_folding-enabled" style="margin-top: -5px; height: 52px; width: 42px;">
<div class="ace_gutter-cell " style="height: 19px;">3</div>
</div>
<div class="ace_gutter-active-line" style="top: -5px; height: 19px;"></div>
</div>
Chromeのガターと同じHTMLは次のとおりです。
<div class="ace_gutter">
<div class="ace_layer ace_gutter-layer ace_folding-enabled" style="margin-top: 0px; height: 585px; width: 42px;">
<div class="ace_gutter-cell " style="height: 19px;">1<span class="ace_fold-widget ace_start ace_open" style="height: 19px;"></span></div>
<div class="ace_gutter-cell " style="height: 19px;">2</div>
<div class="ace_gutter-cell " style="height: 19px;">3</div>
</div>
<div class="ace_gutter-active-line" style="top: 38px; height: 19px;"></div>
</div>
これにより、VoiceOverはSafariでのみ適切に機能し、VoiceOverはMacのメインスクリーンリーダーであるため、Macでアクセシビリティを使用する場合のテストが非常に困難になります。
特別なコードサンプルは必要ありません。ChromeとSafariの両方にデモをロードするだけです(http://securingsincity.github.io/react-ace/)
@backwardok再現はできますが、原因が
興味深いことに、 @ backwardokスプリットエディターはhttp://securingsincity.github.io/react-ace/split.htmlで機能するので、これがデモの構成の1つに問題があるのではないかと思います。
したがって、デバッグを行った後、エディターの例はheight="100%"
がなくても正常に機能します。これは控えめに言っても興味深いことですが、今のところ例から削除します。 問題が実際にここにあるのかわからない、エース関連かもしれない
奇妙な! うまくいけば、その回避策は、私たちがそれを使用する際にも見られる問題を解決します。 調べてくれてありがとう!
@backwardok問題ありません。 興味があるからといって、どのようなプロジェクトでreact-aceを使っていますか?
@securingsincityは、ストーリーブック内の遊び場として使用しており、開発者がライブラリ内に存在するさまざまなReactコンポーネントを
これはエースに固有の問題のように思われるため、タイトルを変更し、高さと幅をパーセンテージに設定します。
SafariとChromeのエースで動作しているようです。 それとも私は何か間違ったことをしていますか?
証明する
@dmigo Reactコンポーネントを使用していませんか? ただace.js
?
これを作成してから例が変更されたかどうかはわかりませんが、Safariで例が機能しているようです。
@backwardok私にとって機能していないのは、reactコンポーネントです。「幅」はパーセンテージを取りません。たとえば、「500px」を取ります。
スケーリングしてコンテナに合わせる方法がわかりません。
react-aceはまだ幅や高さのパーセンテージを取ることができないようです。
今日の時点で、 '%'のフレーバーが幅または高さに配置されている場合、react-aceはレンダリングされず、親に適切にフィットするようにスケーリングされません。
編集:ただし、高さと幅を「自動」に設定し、親の力をフレックスにすることで、正しく機能させることができました。