[ TAG 437 ][01.06.2022] -Erfolgreich -IAP-20220403-20220403-1150 -Positionierungsproblem
Bei der letzten WORKSESSION habe ich die Breite und Höhe der Kindelemente ermittelt zusammen mit der Rest-Breite bzw. Rest-Höhe. Diese entsteht wenn man die Gesamtbreite durch eine bestimmte Anzahl der Kindelemente teilt. Der Fehler wächst mit der Anzahl der Kindelemente. Weil man nur mit ganzen Pixeln bei der Positionierung arbeitet, muss der berechnete Wert entweder auf oder abgerundet werden. Ich habe mich dazu entschieden den Wert abzurunden.
Gestern habe ich folgendes dazu vorgerechnet.
- 70/6 = 11,6666
- 11*6 = 66 Rest 4
- 0,6666*6 = 3,9996
Wenn ich ein [ FRM ]-Element mit 70px und 6 Kindelemente. Dann müsste jedes Element 11,6666px breit sein. Wenn ich den Wert aufrunde, werden die Kindelemente in der Gesamtbreite größer sein als 70px.
- 12*6 = 72 Über 2
Die Fehler, die beim Ab oder Aufrunden entstehen, müssen auf die Elemente verteilt werden. Wenn man sich fürs Aufrunden entscheidet, müssen die Fehler von den Elementen einzeln abgezogen werden.
Entscheidet man sich für Abrunden, so müssen die Fehler in diesem Fall die Fehlende Breite oder Höhe zu den Elementen dazu gezählt werden.
Diese Berechnungen habe ich gestern alle umgesetzt. Jetzt muss ich die Margins zusammen zählen.
for i in chld[::-1]:
elm_ = GET_KEY_ELMTS(i)[-1]
userstl_i_ = ref_user[i]
defstl_i_ = ref_def[elm_[si_elmt]]
if userstl_i_[si_mr] is None:
if defstl_i_[si_mr] is not None:
userstl_i_[si_mr] = defstl_i_[si_mr]
else:
userstl_i_[si_mr] = 0
if userstl_i_[si_ml] is None:
if defstl_i_[si_ml] is not None:
userstl_i_[si_ml] = defstl_i_[si_ml]
else:
userstl_i_[si_ml] = 0
if userstl_i_[si_mt] is None:
if defstl_i_[si_mt] is not None:
userstl_i_[si_mt] = defstl_i_[si_mt]
else:
userstl_i_[si_mt] = 0
if userstl_i_[si_mb] is None:
if defstl_i_[si_mb] is not None:
userstl_i_[si_mb] = defstl_i_[si_mb]
else:
userstl_i_[si_mb] = 0
h_margins += userstl_i_[si_mr] + userstl_i_[si_ml]
v_margins += userstl_i_[si_mt] + userstl_i_[si_mb]
Dieser Code-Abschnitt setzt Margins und zählt sie zusammen. In dieser Schleife werde ich auch Breite und Höhe zusammen zählen.
Kommentare
Kommentar veröffentlichen