Ich bin vor ein paar Jahren auf dasselbe Problem gestoßen und habe die Entwicklung eines Plugins finanziert, das mir bei meiner Arbeit hilft. Ich habe das Plugin als Open Source veröffentlicht, damit auch andere davon profitieren können, und Sie können es auf Github herunterladen: https://github.com/eqcss/eqcss
Es gibt verschiedene Möglichkeiten, wie wir verschiedene Reaktionsstile anwenden können, je nachdem, was wir über ein Element auf der Seite wissen können. Hier sind einige Elementabfragen, mit denen Sie mit dem EQCSS-Plugin in CSS schreiben können:
@element 'div' and (condition) {
$this {
/* Do something to the 'div' that meets the condition */
}
.other {
/* Also apply this CSS to .other when 'div' meets this condition */
}
}
Welche Bedingungen werden für reaktionsfähige Stile mit EQCSS unterstützt?
Gewichtsabfragen
- min-width in
px
- min-width in
%
- max-width in
px
- max-width in
%
Höhenabfragen
- min-Höhe in
px
- min-Höhe in
%
- maximale Höhe in
px
- maximale Höhe in
%
Abfragen zählen
- Min-Zeichen
- max-Zeichen
- Min-Zeilen
- maximale Anzahl an Zeilen
- Min-Kinder
- Max-Kinder
Spezielle Selektoren
In EQCSS-Elementabfragen können Sie auch drei spezielle Selektoren verwenden, mit denen Sie Ihre Stile genauer anwenden können:
$this
(die Elemente, die der Abfrage entsprechen)
$parent
(die übergeordneten Elemente der Elemente, die der Abfrage entsprechen)
$root
(das Stammelement des Dokuments <html>
)
Mit Elementabfragen können Sie Ihr Layout aus individuell ansprechenden Designmodulen zusammenstellen, die jeweils ein wenig "Selbstbewusstsein" dafür haben, wie sie auf der Seite angezeigt werden.
Mit EQCSS können Sie ein Widget so gestalten, dass es von 150 Pixel Breite bis 1000 Pixel Breite gut aussieht. Anschließend können Sie dieses Widget mithilfe einer beliebigen Vorlage (auf einer beliebigen Site) und in jeder Seitenleiste auf jeder Seite sicher ablegen