#036: Suchfunktion, Teil 2

Wir knüpfen dort an, wo wir in Video #034 aufgehört haben und bauen den Suchbereich weiter aus.

Dieses Mal konzentrieren wir uns auf den „offenen“ Zustand der Suche und bauen die eigentlichen Formularelemente. Das Suchfeld selbst verwendet den HTML5-Formularelementtyp „search“ – der normalerweise einige benutzerdefinierte Stile mit sich bringt, aber da wir Normalize verwenden (Video #011), ist das für uns kein Problem.

Wir erstellen ein neues modulares CSS-Bit (_buttons.scss) für unseren eigenen Gebrauch beim Stylen von Schaltflächen auf der gesamten Website. Sehen Sie, was wir da tun? Alles, was sich stilistisch logisch isolieren lässt, erstellen wir in einer neuen Datei. Wir können das so oft tun, wie wir möchten, ohne uns Sorgen zu machen, da die Dateien mit Sass ohnehin alle zusammengefügt werden.

Der dreidimensionale Button-Look wird durch eine ganze Reihe von komma-separierten Box-Schatten erzeugt. Die Farben sind leicht zu ändern, weil wir (Sie ahnten es!) Variablen verwenden.

$bottomSide: #3852b1;
$rightSide: #203891;

.button, #rcp_submit {
  border: 0; // kill default styling
  background: #4e68c7;
  box-shadow:
    // right side           // bottom
    1px 0px 1px $rightSide, 0px 1px 1px $bottomSide,
    2px 1px 1px $rightSide, 1px 2px 1px $bottomSide,
    3px 2px 1px $rightSide, 2px 3px 1px $bottomSide,
    4px 3px 1px $rightSide, 3px 4px 1px $bottomSide,
    5px 4px 1px $rightSide, 4px 5px 1px $bottomSide,
    6px 5px 1px $rightSide;
}

Wir spiegeln die gleichen Stile im Eingabeelement wider (nur auf der *Innenseite* statt auf der Außenseite) und vervollständigen so den 3D-Look. Der Versatz der Schatten entspricht unserer $offset-Variable, was zu einer gewissen Designkonsistenz führt.

Nicht in diesem Video, aber später stellen wir fest, dass die inneren Schatten bei den Eingaben viel einfacher mit nur zwei Rändern anstatt aller Schatten (Rand trifft auf Rand in einem Winkel) zu realisieren sind. Bei der Schaltfläche leider nicht möglich.

Dieser Inline-Input-Stil durchdringt letztendlich alle Eingabestile auf der gesamten Website, im Guten wie im Schlechten.