国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Heim Web-Frontend HTML-Tutorial [Lesenotizen ?Bootstrap Practical Combat'] 5. E-Commerce-Website

[Lesenotizen ?Bootstrap Practical Combat'] 5. E-Commerce-Website

Oct 15, 2016 am 10:32 AM

Nachdem Sie die Unternehmenswebsite erstellt haben, k?nnen Sie über die Gestaltung eines Online-Shops nachdenken.

Dieses Design basiert auf dem Design im vorherigen Kapitel, mit der Ausnahme, dass eine neue Seite mit den folgenden Elementen hinzugefügt wurde:

□ Produktraster mit Produktminiaturansichten, Titeln und Beschreibungen;

□ Der Lazy-Button auf der linken Seite dient zum Filtern von Produkten nach Kategorie, Marke usw.

□ Breadcrumbs und Paginierungslinks für eine einfache Benutzernavigation.

Schauen wir uns zun?chst die Websites von Zappos (http://www.zappos.com/) und Amazon (https://www.amazon.com/) an und suchen bzw. durchst?bern Sie die Produkte. Die hier zu erstellende Seite enth?lt ein ?hnliches Produktraster.

Das fertige Design sollte auf gro?en, mittleren und kleinen Bildschirmen wie im folgenden Bild aussehen:

Auf ultrakleinen Bildschirmen soll das Layout der Seite so aussehen:

Bootstrap bietet einen guten Ausgangspunkt für die Vervollst?ndigung dieses Entwurfs. Auf dieser Grundlage werden wir LESS verwenden, um die Anpassungsarbeiten abzuschlie?en.

1. Markierungen auf der Produktseite

Wir k?nnen sehen, dass die Kopfzeile, der Inhalt der Navigationsleiste und die Fu?zeile mit dem vorherigen Kapitel übereinstimmen, haupts?chlich ist der Hauptinhalt unterschiedlich. Wie aus den Renderings hervorgeht, k?nnen wir den Hauptinhalt in drei Teile unterteilen:

Teil 1: Breadcrumb-Navigationslinks, die mithilfe ungeordneter Listen generiert werden.

Teil 2: Seitentitel dargestellt durch h1.

Teil 3:

□ Eine Reihe von Optionen zum Filtern von Produkten

□ Neun Produkte, jedes mit Miniaturansichten, Titeln, Beschreibungen und Schaltfl?chen

□ Paginierungslinks, die mithilfe einer ungeordneten Liste generiert werden und sich unter den Produkten und über der Fu?zeile der Website befinden.

1.1 Crumb-Navigationslink

Sie k?nnen sich auf die offizielle Dokumentation beziehen: http://getbootstrap.com/components/#breadcrumbs (chinesische Dokumentation: http://v3.bootcss.com/components/#breadcrumbs)

(1) ist sehr einfach. Geben wir zun?chst den Code gem?? dem Dokument wie folgt ein:

<span style="color: #0000ff;"><</span><span style="color: #800000;">div </span><span style="color: #ff0000;">role</span><span style="color: #0000ff;">="main"</span><span style="color: #0000ff;">></span>
  <span style="color: #0000ff;"><</span><span style="color: #800000;">div </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="container"</span><span style="color: #0000ff;">></span>
          <span style="color: #0000ff;"><</span><span style="color: #800000;">ol </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="breadcrumb"</span><span style="color: #0000ff;">></span>
             <span style="color: #0000ff;"><</span><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>Home<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
             <span style="color: #0000ff;"><</span><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>Parent Category<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
             <span style="color: #0000ff;"><</span><span style="color: #800000;">li </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="active"</span><span style="color: #0000ff;">></span>Current Category<span style="color: #0000ff;"></</span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
           <span style="color: #0000ff;"></</span><span style="color: #800000;">ol</span><span style="color: #0000ff;">></span>
  <span style="color: #0000ff;"></</span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"></</span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span>
Sie k?nnen den Anzeigeeffekt wie folgt sehen:

(2) Anschlie?end passen wir das Design der Semmelbr?sel an und entfernen den hellgrauen Hintergrund und die zus?tzliche Polsterung. Für diese einfache Anpassung k?nnen wir die Datei breadcrumbs.less im Bootstrap-Ordner direkt ?ndern und die unn?tigen Zeilen auskommentieren, um Spuren der ?nderung zu hinterlassen:

<span style="color: #000000;">.breadcrumb {
 <span style="background-color: #ccffcc;"> padding: 0; //@breadcrumb-padding-vertical @breadcrumb-padding-horizontal;</span>
  margin-bottom: @line-height-computed;
  list-style: none;
 <span style="background-color: #ccffcc;"> //background-color: @breadcrumb-bg;</span></span>
Der Anzeigeeffekt nach der ?nderung ist wie folgt:

1.2 Seitentitel

Ebenso offizielle Dokumentation: http://getbootstrap.com/components/#page-header (Chinesische Dokumentation: http://v3.bootcss.com/components/#page-header)

(1) In ?hnlicher Weise k?nnen Sie unter Bezugnahme auf die Dokumentation den Code wie folgt eingeben:

<span style="color: #0000ff;"><</span><span style="color: #800000;">div </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="page-header"</span><span style="color: #0000ff;">></span>
   <span style="color: #0000ff;"><</span><span style="color: #800000;">h1</span><span style="color: #0000ff;">></span>Product Category Name <span style="color: #0000ff;"><</span><span style="color: #800000;">small</span><span style="color: #0000ff;">></span>with explanatory text<span style="color: #0000ff;"></</span><span style="color: #800000;">small</span><span style="color: #0000ff;">></</span><span style="color: #800000;">h1</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"></</span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span>
Sie k?nnen den Anzeigeeffekt wie folgt sehen:

(2) Wir passen einfach den Stil an und l?schen den unteren Rand. ?ffnen Sie die Datei ?type.less“ im Bootstrap-Ordner, suchen Sie nach ?.page-header“ und kommentieren Sie die Regel ?border-bottom“ aus:

<span style="color: #000000;">.page-header {
  padding-bottom: ((@line-height-computed / 2) - 1);
  margin: (@line-height-computed * 2) 0 @line-height-computed;
  <span style="background-color: #ccffcc;">//border-bottom: 1px solid @page-header-border-color;</span>
}</span>
Speichern, kompilieren, aktualisieren und Sie werden sauberere Ergebnisse sehen. Mehr Leerraum passt zu unserem Gesamtdesign, wie unten gezeigt;

1.3 Seitenleiste, Produktraster, Seitenlinks

Unser Hauptanzeigeinhalt ist die Seitenleiste auf der linken Seite und das Produktraster auf der rechten Seite. Natürlich verwenden wir das Rastersystem, um es in zwei Teile zu unterteilen:

<span style="color: #0000ff;"><</span><span style="color: #800000;">div </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="row"</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">div </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="grid-options col-sm-3"</span><span style="color: #0000ff;">></span>                   
  <span style="color: #0000ff;"></</span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;">  <</span><span style="color: #800000;">div </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="products-grid col-sm-9"</span><span style="color: #0000ff;">></span>
  <span style="color: #0000ff;"></</span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"></</span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span>

1.3.1 Seitenleiste

Wir k?nnen sehen, dass die Seitenleiste aus mehreren Titeln, entsprechenden Optionen zum Filtern von Produkten und einer Hyperlink-Schaltfl?che besteht. Wir k?nnen den Code einfach wie folgt implementieren.

<span style="color: #0000ff;"><</span><span style="color: #800000;">div </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="grid-options col-sm-3"</span><span style="color: #0000ff;">></span>
  <span style="color: #0000ff;"><</span><span style="color: #800000;">h2</span><span style="color: #0000ff;">></span>Narrow your selection<span style="color: #0000ff;"></</span><span style="color: #800000;">h2</span><span style="color: #0000ff;">></span>
  <span style="color: #0000ff;"><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="choose-clearance"</span><span style="color: #ff0000;"> href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>
  <span style="color: #0000ff;"><</span><span style="color: #800000;">h3</span><span style="color: #0000ff;">></span>Clearance Sale<span style="color: #0000ff;"></</span><span style="color: #800000;">h3</span><span style="color: #0000ff;">></span>
  <span style="color: #0000ff;"><</span><span style="color: #800000;">p</span><span style="color: #0000ff;">></span>View clearance items<span style="color: #0000ff;"></</span><span style="color: #800000;">p</span><span style="color: #0000ff;">></span>
  <span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></span>
  <span style="color: #0000ff;"><</span><span style="color: #800000;">h3</span><span style="color: #0000ff;">></span>Categories<span style="color: #0000ff;"></</span><span style="color: #800000;">h3</span><span style="color: #0000ff;">></span>
  <span style="color: #0000ff;"><</span><span style="color: #800000;">ul </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="options-list options-categories"</span><span style="color: #0000ff;">></span>
    <span style="color: #0000ff;"><</span><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>Option 1<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
    <span style="color: #0000ff;"><</span><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>Option 2<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
    <span style="color: #0000ff;"><</span><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>Option 3<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
    <span style="color: #0000ff;"><</span><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>Option 4<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
    <span style="color: #0000ff;"><</span><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>Option 5<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
    <span style="color: #0000ff;"><</span><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>Option 6<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
    <span style="color: #0000ff;"><</span><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>Option 7<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
    <span style="color: #0000ff;"><</span><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>Option 8<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
    <span style="color: #0000ff;"><</span><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>Option 9<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
    <span style="color: #0000ff;"><</span><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>Option 10<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
  <span style="color: #0000ff;"></</span><span style="color: #800000;">ul</span><span style="color: #0000ff;">></span>
  <span style="color: #0000ff;"><</span><span style="color: #800000;">h3</span><span style="color: #0000ff;">></span>Brands<span style="color: #0000ff;"></</span><span style="color: #800000;">h3</span><span style="color: #0000ff;">></span>
  <span style="color: #0000ff;"><</span><span style="color: #800000;">ul </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="options-list options-brands"</span><span style="color: #0000ff;">></span>
    <span style="color: #0000ff;"><</span><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>Option 1<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
    <span style="color: #0000ff;"><</span><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>Option 2<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
    <span style="color: #0000ff;"><</span><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>Option 3<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
    <span style="color: #0000ff;"><</span><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>Option 4<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
    <span style="color: #0000ff;"><</span><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>Option 5<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
    <span style="color: #0000ff;"><</span><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>Option 6<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
    <span style="color: #0000ff;"><</span><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>Option 7<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
    <span style="color: #0000ff;"><</span><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>Option 8<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
    <span style="color: #0000ff;"><</span><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>Option 9<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
    <span style="color: #0000ff;"><</span><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>Option 10<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
  <span style="color: #0000ff;"></</span><span style="color: #800000;">ul</span><span style="color: #0000ff;">></span>
  <span style="color: #0000ff;"><</span><span style="color: #800000;">h3</span><span style="color: #0000ff;">></span>Another Filter<span style="color: #0000ff;"></</span><span style="color: #800000;">h3</span><span style="color: #0000ff;">></span>
  <span style="color: #0000ff;"><</span><span style="color: #800000;">ul </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="options-list options-other"</span><span style="color: #0000ff;">></span>
    <span style="color: #0000ff;"><</span><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>Option 1<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
    <span style="color: #0000ff;"><</span><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>Option 2<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
    <span style="color: #0000ff;"><</span><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>Option 3<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
    <span style="color: #0000ff;"><</span><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>Option 4<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
    <span style="color: #0000ff;"><</span><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>Option 5<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
    <span style="color: #0000ff;"><</span><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>Option 6<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
    <span style="color: #0000ff;"><</span><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>Option 7<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
    <span style="color: #0000ff;"><</span><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>Option 8<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
    <span style="color: #0000ff;"><</span><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>Option 9<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
    <span style="color: #0000ff;"><</span><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>Option 10<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
  <span style="color: #0000ff;"></</span><span style="color: #800000;">ul</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"></</span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span>

1.3.2 Produktraster

Was das Produktraster betrifft, k?nnen wir sehen, dass es aus Produktrastern für neun Produkte und Paginierungslinks unter dem Produktraster besteht.

In ?hnlicher Weise verwenden wir ein Rastersystem, um einfach neun Produkte anzuzeigen, mit drei Produkten in jeder Zeile und insgesamt drei Spalten.

<span style="color: #0000ff;"><</span><span style="color: #800000;">div </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="products-grid col-sm-9"</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">div </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="row"</span><span style="color: #0000ff;">></span>
  <span style="color: #0000ff;"><</span><span style="color: #800000;">div </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="product-item <span style="background-color: #ccffcc;">col-sm-4</span>"</span><span style="color: #0000ff;">></span> <span style="color: #0000ff;"><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">><</span><span style="color: #800000;">img </span><span style="color: #ff0000;">src</span><span style="color: #0000ff;">="img/product.png"</span><span style="color: #ff0000;"> alt</span><span style="color: #0000ff;">="sample product"</span> <span style="color: #0000ff;">/></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></span>
    <span style="color: #0000ff;"><</span><span style="color: #800000;">h2</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>Product Title<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">h2</span><span style="color: #0000ff;">></span>
    <span style="color: #0000ff;"><</span><span style="color: #800000;">p</span><span style="color: #0000ff;">></span>This text describes the above product a little not too much but just enough or maybe a little more<span style="color: #0000ff;"></</span><span style="color: #800000;">p</span><span style="color: #0000ff;">></span>
    <span style="color: #0000ff;"><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="btn btn-default btn-xs pull-right"</span><span style="color: #ff0000;"> href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>View this product <span style="color: #0000ff;"><</span><span style="color: #800000;">i </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="fa fa-arrow-circle-right"</span><span style="color: #0000ff;">></</span><span style="color: #800000;">i</span><span style="color: #0000ff;">></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></span> <span style="color: #0000ff;"></</span><span style="color: #800000;">div</span><span style="color: #0000ff;">><br>  ...</span>
<span style="color: #0000ff;"></</span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span>
<span style="color: #008000;"><!--</span><span style="color: #008000;"> /.row </span><span style="color: #008000;">--></span>
<span style="color: #0000ff;"></</span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span>

1.3.3 分頁鏈接

這個很簡單,一般使用無序列表實現(xiàn)。不過,我們可以參考分頁的官方文檔或者中文文檔,可以實現(xiàn)代碼如下:

<span style="color: #0000ff;"><</span><span style="color: #800000;">nav</span><span style="color: #0000ff;">></span>
  <span style="color: #0000ff;"><</span><span style="color: #800000;">ul </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="pagination"</span><span style="color: #0000ff;">></span>
    <span style="color: #0000ff;"><</span><span style="color: #800000;">li </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="disabled"</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span><span style="color: #ff0000;">&laquo;</span><span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
    <span style="color: #0000ff;"><</span><span style="color: #800000;">li </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="active"</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>1 <span style="color: #0000ff;"><</span><span style="color: #800000;">span </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="sr-only"</span><span style="color: #0000ff;">></span>(current)<span style="color: #0000ff;"></</span><span style="color: #800000;">span</span><span style="color: #0000ff;">></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
    <span style="color: #0000ff;"><</span><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>2<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
    <span style="color: #0000ff;"><</span><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>3<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
    <span style="color: #0000ff;"><</span><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>4<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
    <span style="color: #0000ff;"><</span><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>5<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
    <span style="color: #0000ff;"><</span><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span><span style="color: #ff0000;">&raquo;</span><span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
  <span style="color: #0000ff;"></</span><span style="color: #800000;">ul</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"></</span><span style="color: #800000;">nav</span><span style="color: #0000ff;">></span>

顯示效果如下:

這樣主頁內(nèi)容就搭建起來了,我們需要的就是對商品網(wǎng)格和側(cè)邊欄進行調(diào)整。

?

2.調(diào)整商品網(wǎng)格

我們需要把商品網(wǎng)格調(diào)整到位。之前我們使用柵格系統(tǒng),通過?col-sm-4 類來約束每個商品的寬度,但整個網(wǎng)格看起來仍然盡不如人意。

<span style="color: #0000ff;"><</span><span style="color: #800000;">div </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="product-item col-sm-4"</span><span style="color: #0000ff;">></span>

主要是由于商品簡介的長短的不一致,導致每個商品的高度不確定。因此,Bootstrap 在向左浮動所有商品時,后面的商品就可能插入到前面的商品中。結(jié)果就是整個網(wǎng)格顯得很混亂,如下圖所示:

目前,在中大型視口,第4~7個商品由于高度不等,浮動后沒有對齊。

我們的任務(wù)就是調(diào)整網(wǎng)格系統(tǒng),讓所有網(wǎng)格的視覺效果得到增強。

(1) 創(chuàng)建新文件 less/_product-grid.less ,并在 __main.less 文件中引用。

(2) 我們先調(diào)整下圖片寬度、字號、內(nèi)邊距和外邊距,代碼如下:

<span style="color: #000000;">.product-item {
  padding-bottom: 32px;
  img {
    width:100%;
  }
  h2 {
    font-size: @font-size-large;
    line-height: 1.2;
    padding: 0 !important;
    margin-top:6px;
    margin-bottom:2px;
  }
  p {
    font-size: @font-size-small;
    line-height:1.3;
    color:@gray;
  }
}</span>

(3) 現(xiàn)在該來解決布局問題了。解決問題的關(guān)鍵是找到最高的商品。假設(shè)我們有一個指南,其中對每個商品使用什么圖片和文字介紹都有規(guī)劃。所有商品的小圖都是標準大小,文字說明也不會比當前我們示例頁面中的多。這樣的話,我們就可以給所有商品都設(shè)置一個固定的高度,或者使用 em 或 ex 等更靈活的單位。在這個示例中,我們就使用360px 的固定值,并把超出的部分隱藏起來。

<span style="color: #000000;">.product-item {
   height: 360px;
   overflow: hidden;<br>   ...
}</span>

這樣布局問題就解決了,現(xiàn)在的顯示效果如下;

(4) 在此之后,我們就可以放心地使用 Bootstrap 的響應(yīng)式分欄類,去調(diào)整不同視口的布局效果了。具體來說,我們希望當視口小和超小的時候,每行只顯示兩個商品;而當視口中等或較大時,每行顯示三個商品。為實現(xiàn)這個效果,我們要找到并替換每個商品中的類,結(jié)果要變成如下所示:

<span style="color: #0000ff;"><</span><span style="color: #800000;">div </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="product-item <span style="background-color: #ccffcc;">col-xs-6 col-md-4</span>"</span><span style="color: #0000ff;">></span>

替換成這兩個類之后,每個商品在超小和小視口將會是屏幕寬度的一半,而在中大視口中將切換成屏幕寬度的三分之一。

以下是小視口下的情景:

超小視口下因為側(cè)邊欄的干擾,還是有顯示問題,所以我們接下來就需要調(diào)整側(cè)邊欄了。

?

3.側(cè)邊欄和篩選選項

在小、中、大視口中,側(cè)邊欄目前都位于左側(cè)。

目前側(cè)邊欄如下所示:

而在完成設(shè)計工作后,我們希望把 Clearance Sale 做成一個超大按鈕,把篩選選項排成兩欄,而且每個選項前都是復(fù)選框而非項目符號,如下所示:

下面先從基本的樣式開始,把布局弄好。

?

3.1 基本布局

我們先來調(diào)整字體、顏色、外邊距和內(nèi)邊距。在_product-grid.less 中添加規(guī)則如下:

<span style="color: #000000;">.grid-options {
  .panel;
  .panel-default;
  padding-top:12px;
  padding-bottom:24px;
  > h2 {
    margin-top:0;
    font-size:1.5 * (@font-size-large);
    line-height:1.2;
    color:@gray-dark;
  }
}</span>

上面代碼的用途如下:

□ 給側(cè)邊欄應(yīng)用 Bootstrap 默認的 panel樣式和?panel-default 樣式 (參見:http://getbootstrap.com/components/#panels);

□ 給側(cè)邊欄添加上、下邊距;

□ 調(diào)整 h2 標題的字號、行高和顏色。

?

3.2 Clearance Sale 按鈕

我們要把Clearance Sale 鏈接變成一個超大的吸引人的按鈕。

按照下面的說明調(diào)整標記:

□ 把鏈接的標題和段落都轉(zhuǎn)換成按鈕;

□ 添加自定義的按鈕類 btn-feature,這是我們在上一章創(chuàng)建的:

□ 給整個標簽添加 Font Awesome 圖標,通過使用 Font Awesome 內(nèi)置的 icon-3x 類,將圖標放大三倍。

PS:要了解 Font Awesome 特殊尺寸類的更多信息,可以參考相關(guān)文檔:http://fontawesome.io/examples/#larger

調(diào)整后的標記如下所示:

<span style="color: #0000ff;"><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="<span style="background-color: #ccffcc;">btn btn-feature</span> choose-clearance"</span><span style="color: #ff0000;"> href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span> <br><span style="background-color: #ccffcc;"><span style="color: #0000ff;"><</span><span style="color: #800000;">span </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="icon fa fa-tag fa-3x"</span><span style="color: #0000ff;">></</span><span style="color: #800000;">span</span><span style="color: #0000ff;">></span></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">h3</span><span style="color: #0000ff;">></span>Clearance Sale<span style="color: #0000ff;"></</span><span style="color: #800000;">h3</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">p</span><span style="color: #0000ff;">></span>View clearance items<span style="color: #0000ff;"></</span><span style="color: #800000;">p</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></span>

顯示效果如下:

下面再細化,完成下列目標:

(1) 將 Clearance Sale 顯示為塊級元素,使用 .center-block() 這個 Bootstrap 的混入將其居中;

(2) 強制其寬度為包含欄的92.5%;

(3) 添加上、下內(nèi)邊距;

(4) 覆蓋 Bootstrap 按鈕的 white-space:nowrap 規(guī)則,讓文本可以折行(Bootstrap 的white-space 規(guī)則是在 less/bootstrap/buttons.less 中定義的,關(guān)于這個屬性的更多信息,大家可以參考:https://css-tricks.com/almanac/properties/w/whitespace/)

(5) 將按鈕設(shè)置為相對定位,以便對標簽應(yīng)用絕對定位;

(6) 調(diào)整標題和段落的字體、顏色和外邊距;

(7) 把標簽圖標定位到右上角。

以上目標通過下列規(guī)則就可以實現(xiàn):

<span style="color: #000000;">.choose-clearance {
  .center-block();
  width: 92.5%;
  padding-top: 20px;
  padding-bottom: 12px;
  white-space: normal;
  position: relative;
  h3{
    font-weight: normal;
    color: #fff;
    padding-top: 4px;
    margin: 6px;
  }
  p {
    margin:6px 20px;
    line-height: 1.2;
  }
  .icon {
    position: absolute;
    top: 0;
    right: 2px;
  }
}</span>

顯示效果如下:

?

3.3 選項列表

本節(jié),我們要把幾個列表轉(zhuǎn)換成篩選選項。

如果花點時間分析下在線商店 Amazon (https://www.amazon.com/)或者?Zappos (http://www.zappos.com/) 的商品篩選選項,會發(fā)現(xiàn)這些選項其實是鏈接列表,而且每個選項都被調(diào)整成了復(fù)選框的樣子。我們也要把鏈接做成復(fù)選框的樣式,用戶只要選擇就會勾選,另外我們還要調(diào)整它們以適應(yīng)多樣化的設(shè)備,包括平板電腦和智能手機。

Amazon:

Zappos :

?

PS:在 Amazon 和 Zappos 等電子商務(wù)網(wǎng)站上,篩選項與內(nèi)容管理系統(tǒng)是關(guān)聯(lián)的,網(wǎng)格中的商品會隨著用戶選擇篩選項而動態(tài)變化。 Bootstrap 是一個前端設(shè)計框架,不是內(nèi)容管理系統(tǒng)。因此,我們這個示例做不到動態(tài)篩選商品。但我們 這個頁面完成后,是完全可以在內(nèi)容管理系統(tǒng)中使用的。

先從每個列表的 h3 元素開始,我們調(diào)整它們的大小、行高、外邊距和顏色:

<span style="color: #000000;">.grid-options {<br>  ...
  >h3 {
    font-size: @font-size-large;
    line-height: 1.2;
    margin-top: 12px;
    color: @gray-dark;
  }
}</span>

然后,我們把注意力集中到無序列表上。我們有給每個無序列表上都添加了一個特殊的類,叫 options-list,我們就用它作為選擇符,確保只針對這些特殊的列表。

首先去掉項目符號和內(nèi)邊距:

<span style="color: #000000;">.grid-options { 
   ...
  .options-list {
    list-style-type: none;
    padding-left: 0;
  }
}</span>

接下來是鏈接樣式。稍后我們還要給列表項添加樣式,因此我們把這些樣式包含了嵌套的選擇符中。

<span style="color: #000000;">  .options-list {
     ...
     li {
       a {
          .btn;
          .btn-sm;
          padding-left: 0;
          padding-right: 0;
          color: @gray;
          &:hover,
          &:focus,
          &:active,
          .active & {
            color: @link-color;
         } ...</span>

以上規(guī)則的作用如下:

□ 我們利用 LESS 通過 .btn 類加入了基本的按鈕樣式,包括顯示 inline-block 鏈接和額外的內(nèi)邊距:

?■ 因為沒有添加其他按鈕類,所以也沒有出現(xiàn)背景顏色;

?■ 通過添加基本的按鈕樣式,可以讓用戶更方便點擊,使用手指或鼠標皆宜。

□ 再通過 .btn-sm 類引入相關(guān)樣式,以減少內(nèi)邊距,并讓字號比標準按鈕再小一些。

□ 接著刪除無序列表的左和右內(nèi)邊距。

□ 再把鏈接文本的顏色改為 @gray。

□ 最后,設(shè)置懸停、焦點和活動鏈接的顏色為 @link-color 。

現(xiàn)在的顯示結(jié)果如下圖所示:

PS:有人可能會奇怪為什么作者要在這里借用按鈕的 .btn和 .btn-sm 類,而不是直接把這兩個類寫進標記。當然也可以那么做,但考慮到鏈接的數(shù)量那么多,還是通過CSS來應(yīng)用樣式更便捷。

?

3.4 為選項鏈接添加 Font Awesome 圖標復(fù)選框

我們將在LESS中使用 Font Awesome圖標在選項鏈接做出添加復(fù)選框,另外還要加入另一個 Font Awesome 圖標,以表示懸停、聚焦和活動狀態(tài)下勾選的復(fù)選框。

通過 LESS 添加圖標需要從三個文件中取得 Font Awesome 樣式。首先,從 font-awesome 文件夾的 core.less 中獲得基本樣式。在這個文件中,可以看到以下重要的樣式:

<span style="color: #000000;">.@{fa-css-prefix} {
  display: inline-block;
  font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration
  font-size: inherit; // can't have font-size inherit on line above, so need to override
  text-rendering: auto; // optimizelegibility throws things off #1094
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}</span>

以上樣式是所有 Font Awesome 圖標樣式的基礎(chǔ),包括作為字體的 Font Awesome 圖標,以此為基礎(chǔ)可以進一步加強相應(yīng)的樣式。

對現(xiàn)在的需求來說,我們不需要選擇符也不需要花括號,只需要其中的規(guī)則。我們要把這些樣式應(yīng)用給選項鏈接。最重要的,我們要使用 :before 偽元素,因為可以確保結(jié)果最佳。

從 core.less 中復(fù)制上面的規(guī)則(不包括選擇符),粘貼到 _product-grid.less 文件中,嵌套如下:

<span style="color: #000000;">.grid-options { ...
  .options-list { ...
      li { ...
       a { ...
       &:before{
           display: inline-block;
           font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; 
           font-size: inherit; 
           text-rendering: auto; 
           -webkit-font-smoothing: antialiased;
           -moz-osx-font-smoothing: grayscale;
       } ...</span>

這些規(guī)則為我們下一步打下了基礎(chǔ)。下一步就可以指定使用哪個 Font Awesome 圖標了。瀏覽這個頁面:http://fontawesome.io/icons/ ,就會發(fā)現(xiàn)空復(fù)選框的圖標和類名:

這個圖標的 LESS 規(guī)則可以在 font-awesome 文件夾的 icons.less 文件里找到。打開該文件,搜索字符串"}-square-o" ,可以看到下面這一行:

.@{fa-css-prefix}-square-o:before { content: @fa-var-square-o; }

對于前面這一行,我們只需要?content: @fa-var-square-o 。把它復(fù)制到之前的 &:before 選擇符中的規(guī)則后面:

<span style="color: #000000;">&:before{ ...
  content: @fa-var-square-o; 
}</span>

最后,我們想取得另一些 Font-Awesome 樣式,為圖標設(shè)置固定的寬度,避免圖標再切換時出現(xiàn)位移。這些樣式可以在 font-awesome 文件夾的 fixed-width.less 文件中找到。復(fù)制下面這兩行,同樣粘貼到 &:before 選擇符中:

<span style="color: #000000;">  width: (18em / 14);
  text-align: center;</span>

添加上面的樣式后,編譯它們?yōu)镃SS并刷新瀏覽器??梢钥吹叫Ч缦?

接下來,我們以同樣的方式添加選擇符和規(guī)則,把 Font Awesome 復(fù)選框圖標的勾選版應(yīng)用給鏈接的懸停、焦點和活動狀態(tài):

<span style="color: #000000;">.options-list { ...
  li { ...
    a { ...
      &:hover:before,
      &:focus:before,
       &:active:before,
      .active &:before {
         content: @fa-var-check-square-o; 
}</span>

保存編輯后刷新瀏覽器可以看到效果如下:

?

3.5 使用 LESS 混入在欄中對其選項

前面,我們使用 LESS 實現(xiàn)了以往需要通過添加標記實現(xiàn)的功能??紤]到篩選項的數(shù)量很多,這樣做效率最高。同樣的思路也適用于我們對齊側(cè)邊欄中的選項。

當然,如果使用 Bootstrap 的 row 和欄類,通過調(diào)整標記也是可以的:

<span style="color: #0000ff;"><</span><span style="color: #800000;">ul </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="options-list options-categories row"</span><span style="color: #0000ff;">></span>
  <span style="color: #0000ff;"><</span><span style="color: #800000;">li </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="col-xs-6"</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>Option 1<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
  <span style="color: #0000ff;"><</span><span style="color: #800000;">li </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="col-xs-6"</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>Option 2<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span><span style="color: #000000;">
  ...</span>

?顯示效果如下:

但有了 Bootstrap 的混入,我們用幾行 LESS 就可以實現(xiàn)同樣的效果。

(1) 首先 .options-list 選擇符應(yīng)用 .make-row() 混入:

<span style="color: #000000;">.options-list {
  .make-row();
  ...</span>

這個混入加入的樣式與我們在標記中添加 row 類加入的樣式一樣。但這里只需要一行代碼。

(2) 然后使用 .make-xs-col() 混入給列表項應(yīng)用分欄規(guī)則:

<span style="color: #000000;">  .options-list { ...
     li {
       .make-xs-column(6);
       ...</span>

這樣就跟我們給相關(guān)的li 標簽添加 col-xs-6 類的效果一樣了。

?

3.6 針對平板和手機調(diào)整選項列表布局

我們要限制選項面板的寬度,讓它在平板電腦中不至于太寬。

目前來看,Clearance Sale 按鈕有點太寬。在 480px~768px 下,選項列表相隔太遠了。

相應(yīng)的截圖如下:

其實只要給選項版設(shè)置一個最大寬度就行了:

<span style="color: #000000;">.grid-options {
   ...
   max-width: 480px; 
   ...</span>

下面我們再調(diào)整選項列表,讓它們在小視口中顯示為三欄。使用LESS ,可以在適當?shù)倪x擇符中嵌套一個媒體查詢,然后在其中添加一個用于調(diào)整的 .make-xs-column(4) 混入:

<span style="color: #000000;">li {
  .make-xs-column(6);
<span style="background-color: #ccffcc;"> @media screen and (max-width:@screen-xs-max){
    .make-xs-column(4);
   }<br></span>   ...</span>

現(xiàn)在保存,編譯,刷新瀏覽器,查看效果。但是我們可能會發(fā)現(xiàn)側(cè)邊欄靠左對齊的,右側(cè)留白太多。而且商品網(wǎng)格的顯示有問題每行只顯示了一個商品。

很明顯,首先我們需要使側(cè)邊欄居中,使用?.center-block() 這個Bootstrap 的混入就可以了,代碼如下

<span style="color: #000000;">.grid-options {
   ...
   .center-block();</span>

另外,商品的顯示問題,調(diào)試發(fā)現(xiàn)是上一章中CSS選擇器?div[role="main"]?[class*="col-"]清除浮動造成的。

所以,我們只需要不清楚浮動就可以了:

<span style="color: #000000;">.product-item { 
  ...
  clear:none !important;
  ...</span>

現(xiàn)在的效果就可以了:

?

3.7 在手機上折疊選項面板

現(xiàn)在,篩選項占據(jù)了相當對的垂直空間。這在小屏幕上是個問題,會把商品網(wǎng)格推到頁面下方很遠的地方。

原因就是篩選項不必要地占據(jù)了大量空間。商品本身才是最應(yīng)該首先顯示的。我們既要讓用戶迅速看到商品,也可以在需要時打開篩選項。

為此,我們使用 Bootstrap 的折疊插件。下面幾步講解如何對選項面板使用折疊插件,同時添加一個擴展面板的按鈕,并把折疊行為限定在窄視口中。

(1) 打開 html 文檔,添加一個div標簽,包裝 Clearance Sale 按鈕和三個選項列表。給這個div 添加一個特殊的類 collapse,以及一個唯一的 ID,以便 JavaScript 插件找到它,同時也添加一個同名的類,代碼如下(可以參考文檔:http://getbootstrap.com/javascript/#collapse):

<span style="color: #0000ff;"><</span><span style="color: #800000;">div </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="grid-options col-sm-3"</span><span style="color: #0000ff;">></span>
   <span style="color: #0000ff;"><</span><span style="color: #800000;">h2</span><span style="color: #0000ff;">></span>Narrow your selection<span style="color: #0000ff;"></</span><span style="color: #800000;">h2</span><span style="color: #0000ff;">></span>
  <span style="background-color: #ccffcc;"> <span style="color: #0000ff;"><</span><span style="color: #800000;">div </span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="options-panel"</span><span style="color: #ff0000;"> class</span><span style="color: #0000ff;">="options-panel collapse"</span><span style="color: #0000ff;">></span></span><span style="color: #000000;">
    ...
   </span><span style="background-color: #ccffcc;"><span style="color: #0000ff;"></</span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span></span>
<span style="color: #0000ff;"></</span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span>  

(2) 保存文件并刷新瀏覽器。你會發(fā)現(xiàn) Clearance Sale 按鈕和選項列表從眼前消失了。只剩下選項面板上方的 h2 標題了,效果圖如下:

現(xiàn)在需要一個切換按鈕,在點擊時顯示篩選項。

(3) 然后我們在這個h2標題中添加一個button按鈕以及相應(yīng)屬性如下:

<span style="color: #0000ff;"><</span><span style="color: #800000;">div </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="grid-options col-sm-3"</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">h2 </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="clearfix"</span><span style="color: #0000ff;">></span><span style="color: #000000;">Narrow your selection
  </span><span style="color: #0000ff;"><</span><span style="color: #800000;">button </span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="button"</span><span style="color: #ff0000;"> class</span><span style="color: #0000ff;">="options-panel-toggle btn btn-primary pull-right"</span><span style="color: #ff0000;"> data-toggle</span><span style="color: #0000ff;">="collapse"</span><span style="color: #ff0000;"> data-target</span><span style="color: #0000ff;">="#options-panel"</span><span style="color: #0000ff;">></span> <br><span style="color: #0000ff;">  <</span><span style="color: #800000;">span </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="icon fa fa-cog fa-2x"</span><span style="color: #0000ff;">></</span><span style="color: #800000;">span</span><span style="color: #0000ff;">></span> 
<span style="color: #0000ff;"></</span><span style="color: #800000;">button</span><span style="color: #0000ff;">></span><span style="color: #000000;">
...</span>

簡單解釋下上面的標記:

□ 給 h2 添加的 clearfix 類可以確保它包含切換按鈕,因為切換按鈕是浮動到右邊的;

□ 類 btn 和 btn-primary 會給新的按鈕添加 Bootstrap 的基本按鈕樣式,背景顏色為 @brand-primary;

□ 類 pull-right 會把按鈕浮動到右側(cè);

□ 在 button 元素中,放了一個 Font Awesome 齒輪圖標,使用 fa-2x 類放大到兩倍。

保存并刷新瀏覽器,可以看到顯示效果如下:

(4) 下面要寫一些規(guī)則,在中大屏幕中隱藏切換按鈕并展開選項面板。為此,可以在?_product-grid.less 中添加以下規(guī)則:

<span style="color: #000000;">@media (min-width:@screen-sm-min){
  .options-panel{
    display:block;
  }
  .options-panel-toggle {
    display:none;
  }
}</span>

(5) Diese Regeln funktionieren wie folgt:

□ Die Medienabfrage stellt sicher, dass Regeln nur auf kleine, mittlere und gro?e Ansichtsfenster angewendet werden

□ Die erste Regel wirkt dem Effekt der Collapse-Klasse entgegen, die standardm??ig Elemente ausblendet;

□ Die zweite Option verbirgt die Umschalttaste.

Speichern und aktualisieren, Sie sollten den gewünschten Effekt sehen k?nnen.

In sehr kleinen Ansichtsfenstern ist die Optionsliste reduziert, aber die Umschalttaste ist sichtbar:

In kleinen, mittleren und gro?en Ansichtsfenstern ist die Umschalttaste ausgeblendet und die Optionsliste sichtbar:

Damit ist unsere Seite komplett.

4. Zusammenfassung Für dieses Beispiel haben wir Folgendes getan:

□ Verwenden Sie Bootstrap-Stile, um Breadcrumbs, Seitentitel usw. schnell zu implementieren

Erkl?rung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Hei?e KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?e Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Erkl?ren Sie den Zweck des Rollenattributs in Aria. Erkl?ren Sie den Zweck des Rollenattributs in Aria. Jun 14, 2025 am 12:35 AM

Das Rollenattribut von ARIA wird verwendet, um die Rolle von Webelementen zu definieren und die Zug?nglichkeit zu verbessern. 1. Rollenattribut hilft bei der Unterstützung der Technologie, um die Funktionen von Elementen wie Schaltfl?chen, Navigation usw. zu verstehen. 3. Das Rollenattribut sollte mit dem Elementverhalten übereinstimmen und durch den Test -Tool -Test überprüft werden.

HTML und Design: Erstellen des visuellen Layouts von Websites HTML und Design: Erstellen des visuellen Layouts von Websites Jun 14, 2025 am 12:39 AM

Wie erstelle ich ein Website -Layout? 1. Verwenden Sie HTML -Tags, um die Inhaltsstruktur zu definieren, z. B.,. 2. Kontrollstile und -positionen über CSS unter Verwendung des Boxmodells, des Float- oder Flexbox -Layouts. 3. Optimieren Sie die Leistung, reduzieren Sie HTTP -Anforderungen, verwenden Sie Cache und optimieren Sie Bilder und sorgen Sie für ein reaktionsschnelles Design.

Wie k?nnen Sie sicherstellen, dass Ihr HTML -Code lesbar und wartbar ist? Wie k?nnen Sie sicherstellen, dass Ihr HTML -Code lesbar und wartbar ist? Jun 10, 2025 am 12:06 AM

Verbesserung der Lesbarkeit und Wartbarkeit von HTML -Code kann in den folgenden Schritten erreicht werden: 1. Verwenden Sie semantische Tags, wie z. 2. Halten Sie den Code formatiert und verwenden Sie eine konsistente Eindrücke und R?ume. 3. Fügen Sie geeignete Kommentare hinzu, um die Code -Absicht zu erkl?ren. 4. Vermeiden Sie überm??ige Verschachtelung und vereinfachen Sie die Struktur; 5. Verwenden Sie externe Stilbl?tter und Skripte, um die HTML pr?zise zu halten.

Wie bleibe ich mit den neuesten HTML-Standards und Best Practices auf dem neuesten Stand? Wie bleibe ich mit den neuesten HTML-Standards und Best Practices auf dem neuesten Stand? Jun 20, 2025 am 08:33 AM

Der Schlüssel, um mit HTML -Standards und Best Practices Schritt zu halten, liegt darin, dies absichtlich zu tun, anstatt ihm blind zu folgen. Befolgen Sie zun?chst die Zusammenfassung oder aktualisieren Sie Protokolle offizieller Quellen wie Whatwg und W3C, verstehen Sie neue Tags (wie) und Attribute und verwenden Sie sie als Verweise, um schwierige Probleme zu l?sen. Zweitens, abonnieren Sie vertrauenswürdige Webentwicklungs-Newsletter und Blogs und verbringen Sie 10-15 Minuten pro Woche, um Updates zu durchsuchen und sich auf tats?chliche Anwendungsf?lle zu konzentrieren, anstatt nur Artikel zu sammeln. Zweitens verwenden Sie Entwickler -Tools und Linter wie HTMLHINT, um die Codestruktur durch sofortiges Feedback zu optimieren. Interagieren Sie schlie?lich mit der Entwicklergemeinschaft, teilen Sie Erfahrungen und lernen Sie die praktischen F?higkeiten anderer Menschen, um die HTML -F?higkeiten kontinuierlich zu verbessern.

Wie verwende ich das  -Element, um den Hauptinhalt eines Dokuments darzustellen? Wie verwende ich das -Element, um den Hauptinhalt eines Dokuments darzustellen? Jun 19, 2025 pm 11:09 PM

Der Grund für die Verwendung von Tags ist die Verbesserung der semantischen Struktur und Zug?nglichkeit von Webseiten, den Bildschirmlesern und Suchmaschinen einfacher, Seiteninhalte zu verstehen und Benutzer schnell auf Kerninhalte zu springen. Hier sind die Schlüsselpunkte: 1. Jede Seite sollte nur ein Element enthalten; 2. Es sollte keinen Inhalt enthalten, der über Seiten (z. B. Seitenleisten oder Fu?zeilen) wiederholt wird. 3.. Es kann in Verbindung mit ARIA -Eigenschaften verwendet werden, um die Zug?nglichkeit zu verbessern. Normalerweise befindet sich nach und zuvor und wird verwendet, um einzigartige Seiteninhalte wie Artikel, Formulare oder Produktdetails einzuwickeln und sollte in oder in oder in vermieden werden. Um die Zug?nglichkeit zu verbessern, k?nnen Aria-markierte oder ARIA-Label verwendet werden, um Teile klar zu identifizieren.

Wie erstelle ich ein grundlegendes HTML -Dokument? Wie erstelle ich ein grundlegendes HTML -Dokument? Jun 19, 2025 pm 11:01 PM

Um ein grundlegendes HTML -Dokument zu erstellen, müssen Sie zun?chst seine Grundstruktur verstehen und Code in einem Standardformat schreiben. 1. Verwenden Sie den Deklarationsdokumenttyp am Anfang; 2. Verwenden Sie das Tag, um den gesamten Inhalt zu wickeln. 3. Inklusive und zwei Hauptteile darin, die zum Speichern von Metadaten wie Titeln, Stylesheet-Links usw. verwendet werden und benutzerfreundliche Inhalte wie Titel, Abs?tze, Bilder und Links enthalten; 4. Speichern Sie die Datei im .html -Format und ?ffnen Sie den Betrachtungseffekt im Browser. 5. Dann k?nnen Sie nach und nach weitere Elemente hinzufügen, um den Seiteninhalt zu bereichern. Befolgen Sie diese Schritte, um schnell eine grundlegende Webseite zu erstellen.

Was ist ein HTML -Tag? Was ist ein HTML -Tag? Jun 13, 2025 am 12:36 AM

HtmltagsareessentialStructuringWebpages.theydedeContentandLayoutuSusingLebrackets, OftinpairsLikeand, mit somebeinsself-closen-like.htmltagsarecrucialForCreating-strukturiert, zug?nglich und seo-frantlywebppages.

Wie erstelle ich Kontrollk?stchen in HTML mit dem Element ? Wie erstelle ich Kontrollk?stchen in HTML mit dem Element ? Jun 19, 2025 pm 11:41 PM

Verwenden Sie zum Erstellen eines HTML -Kontrollk?stchens das Typ -Attribut vom Typ, um das Element des Kontrollk?stchens festzulegen. 1. Die Grundstruktur enth?lt ID-, Name- und Etiketten -Tags, um sicherzustellen, dass das Klicken auf Text Optionen wechseln kann. 2. Mehrere zugeh?rige Kontrollk?stchen sollten denselben Namen, aber unterschiedliche Werte verwenden und sie mit Fieldset einwickeln, um die Zug?nglichkeit zu verbessern. 3. Ausblenden native Steuerelemente beim Anpassen von Stilen und verwenden Sie CSS, um alternative Elemente zu entwerfen und gleichzeitig die vollst?ndigen Funktionen beizubehalten. 4. Stellen Sie sicher, dass Sie die Verfügbarkeit sorgen, Etiketten koppeln, die Tastaturnavigation unterstützen und nicht auf visuelle Eingabeaufforderungen angewiesen sind. Die obigen Schritte k?nnen den Entwicklern dabei helfen, Checkbox -Komponenten mit funktionaler und ?sthetischer Art korrekt zu implementieren.

See all articles