bei Webkit-Browsern, die in das Bearbeitungsfeld eingeben, verursacht Scrollen

8

Ich habe ein Problem mit der Markup-Funktion der Website in WebKit-Browsern (Chrome & amp; Safari), d. h. wenn ich etwas in das Bearbeitungsfeld des rechten Schiebereglers tippe, scrollt es im linken Bereich.

Sehen Sie sich das folgende Beispiel an:
Ссылка
Ссылка - HTML-Code (Eingabe ist in div mit id=" Palette ")

  1. Öffne den nächsten Link in Chrome oder Safari
  2. Geben Sie etwas in das Bearbeitungsfeld in der rechten oberen Ecke ein
  3. Beachten Sie, dass die Bildlaufleiste im linken Bereich
  4. verschiebt

Es ist sehr unwahrscheinlich, dass dieses Markup nach Möglichkeit radikal geändert wird

Q. Wie kann verhindert werden, dass die Bildlaufleiste verschoben wird und sich so verhalten wie in FF?

    
Andriy Tkach 08.07.2012, 15:06
quelle

1 Antwort

6

Das Problem hier ist, dass es so aussieht, wie Sie es tun, und was Sie tatsächlich tun, sind zwei verschiedene Dinge.

Es sieht aus wie das div auf der linken Seite mit einer festen Breite und overflow: auto ( div#kb-board ) und das Eingabefeld auf der rechten Seite sind nicht verwandte Elemente - aber sie sind nicht. Das Eingabefeld ist eigentlich ein untergeordnetes Element von div#kb-board , aber das übergeordnete Element ( div#palette ) hat fixed positioning, sodass es oben rechts auf der Seite steht.

Als Ergebnis befindet sich das Eingabefeld tatsächlich auf der rechten Seite von div#kb-board und wenn Sie es eingeben, bewegt sich die Bildlaufleiste, während Sie den Fokus auf die rechte Seite des div legen.

In diesem Fall würde ich also sagen, dass Chrome das richtige Verhalten zeigt.

Um dies zu beheben, sollten Sie die Verschachtelung von div#palette in div#kb-board beenden. Da es eine feste Positionierung verwendet, muss es nicht verschachtelt werden.

%Vor%

Arbeitsbeispiel: Ссылка

    
My Head Hurts 08.07.2012, 15:47
quelle