css3 scale Transformation in übergeordnete div-Element aber halten die Konstante Größe in einige der zugehörigen divs
Ich bin mit css3 skalieren, transformieren, skalieren div mit anderen divs.
Das problem, das ich habe, ist, dass einige der inneren divs, die ich brauche zu halten, wie Sie waren, im Grunde so, als wenn Sie wurden nicht skaliert, sollte Ihre Größe nicht ändern, aber ich muss für die Skalierung des parent-div mit sonst alles innen.
Wie kann Sie Umgekehrt die Skalierung in einige der divs?
Ich bin versucht, eine inverse Skalierung.
Wenn das übergeordnete div-Element angewandt hatte einen Wert von 1,5 , ich bin versuchen zu finden, welchen Wert soll ich nun skalieren die anderen divs zurücksetzen Sie anschaulich, wie Sie aussah, bevor.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn der übergeordnete div skaliert wurde um einen Faktor von
1.5
, dann müssen Sie den Maßstab der Kinder durch einen Faktor von1/1.5 = 0.(6)
um Ihre Größe konstant.Beispiel
Im Allgemeinen, um abzubrechen für ein untergeordnetes element einer Skala Transformation, die angewendet wurde auf die übergeordneten und hat ein Skalierungsfaktor von
a
, Sie müssen, um eine andere Skala transformieren der Faktor1/a
auf das Kind selbst.Müssen Sie entweder:
zum einstellen der Skala
transform
auf das KindKönnte man eine CSS-variable zum speichern von Skalierungs-Faktor, und verwenden Sie dann
calc()
berechnen Sie die inverse Skala für die Kind-Elemente, die eine bestimmte Klasse:CSS:
HTML:
⋅
⋅
⋅
In Fall, dass Sie nicht wollen, dass irgendeiner der untergeordneten Elemente zu skalieren, einen anderen Weg, es zu tun wäre, um Stil Ihre wrapper als ein pseudo-element :
CSS:
HTML:
Die inverse einer beliebigen Skala Betrieb ist
1 /<scale>
also durch die Skalierung der container durch1.5
würden Sie skalieren müssen die Kinder durch1 /1.5 = 0.6
Leider, gemäß der Spezifikation, das man nicht einfach CSS verwenden, wie:
da-Skala ist definiert als
scale(<Anzahl>[, <Anzahl>])
wo
<number>
istSo müssen Sie die Berechnung selbst oder kann eine dynamische stylesheet-Sprache wie WENIGER, die unterstützt diese Art von Operationen.
Demo (webkit) nur
Wenn Sie, wie vorgeschlagen, verwenden Sie die invertierte der Skalierungsfaktor, dann beachten Sie, dass das Kind nicht unbedingt immer seine ursprüngliche Größe während die Skala transformation -- das geht natürlich nur, wenn Sie lassen Sie die Waage verwandelt eine Dauer haben (z.B. durch die Verwendung
transition: transform;
).