Wie man ein Notizbuch-Design mit CSS erstellt

Avatar of Allen Lawson
Allen Lawson am

DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!

Von Chris: Hallo Leute! Heute ist ein Gastbeitrag von dem 14-jährigen Entwickler Allen Lawson. Ich bemerke immer mehr Engagement und Aktivität in der Web-Community von jüngeren Leuten, und ich finde das großartig und möchte es so gut ich kann fördern.

Dieses Tutorial zeigt Ihnen, wie Sie eine Website im Notizbuch-Stil nur mit CSS erstellen.


Zuerst beginnen wir mit der Erstellung eines grundlegenden Wrappers, indem wir festlegen, dass das body-Tag die folgenden CSS-Eigenschaften haben soll

body {
  background-color: #f5f5f5;
  width: 600px;
  margin: 0 auto;
  padding: 0;
}

Als nächstes erstellen wir eine unsortierte Liste, ich nenne meine list

.list {
  color: #555;
  font-size: 22px;
  padding: 0 !important;
  width: 500px;
  font-family: courier, monospace;
  border: 1px solid #dedede;
}

Der Grund, warum padding:0; wichtig ist, liegt daran, dass später im Tutorial, wenn wir die roten Notizbuchlinien hinzufügen, die Dinge durcheinander geraten. Die Breite kann beliebig festgelegt werden; ich habe nur 600px gewählt, weil es am besten passt. Eine weitere wichtige Eigenschaft hier ist der Rahmen. Das sorgt für ein schönes und sauberes Aussehen.

Als nächstes stylen wir die li's

.list li {
  list-style: none;
  border-bottom: 1px dotted #ccc;
  text-indent: 25px;
  height: auto;
  padding: 10px;
  text-transform: capitalize;
}

Das ist ziemlich selbsterklärend. Achten Sie darauf, border-bottom: 1px dotted #ccc; hinzuzufügen. Das gibt dem Ganzen meiner Meinung nach wirklich das "Notizbuchpapier"-Thema.

Wenn Sie möchten, können Sie die Pseudoklasse :hover auf li verwenden, um es noch sauberer aussehen zu lassen. Wer schätzt nicht einen schönen Hover-Effekt?

.list li:hover {
  background-color: #f0f0f0;
  -webkit-transition: all 0.2s;
  -moz-transition:    all 0.2s;
  -ms-transition:     all 0.2s;
  -o-transition:      all 0.2s;
}

Hier ist unser bisheriger HTML-Code

<!DOCTYPE HTML>
<html> 

<head>
   <meta charset="UTF-8">
   <title>CSS Theme: Notepad</title>
   <link rel="stylesheet" href="style.css">
</head>

<body>

  <h4>Notes</h4>

  <ul id="List">
    <li>Eat Breakfeast</li>
    <li>Feed Pugsly, the cow</li>
    <li>Sit Down</li>
    <li>Eat lunch</li>
    <li>Call mom</li>
    <li>Tweet about feeding my cow, pugsly</li>
    <li>Join a hangout in google+</li>
    <li>Prepare Dinner</li>
    <li>Eat Dinner</li>
    <li>Get ready for bed</li>
    <li>Go to bed</li>
  </ul>

</body>

</html>

Zuletzt fügen wir die vertikalen roten Linien hinzu

.lines {
  border-left: 1px solid #ffaa9f;
  border-right: 1px solid #ffaa9f;
  width: 2px;
  float: left;
  height: 495px;
  margin-left: 40px;
}​

Das ist wahrscheinlich das schönste an diesem Tutorial, aber auch das, was ich am meisten hasse, da es keine Möglichkeit gab, es so zu machen, dass es sich von selbst anpasst, wenn Sie ein neues Listenelement hinzufügen. Also müssen Sie jedes Mal, wenn Sie ein neues li hinzufügen, die Höhe der roten Linien anpassen – was eine große Plage ist. Abgesehen davon stellen Sie sicher, dass Sie eine width von 2px angeben, sonst ist es nur eine Linie.

Eine letzte Sache: Sie müssen text-indent von 25px zu den Listenelementen hinzufügen, damit der Text nicht direkt neben den roten Linien gerendert wird.

Wenn Sie bereit sind, die roten Linien hinzuzufügen, fügen Sie diesen Code **vor** dem <ul> ein.

<div class="lines"></div>

Ihr endgültiges CSS wird so aussehen

body {
  background-color: #f5f5f5;
  width: 600px;
  margin: 0 auto;
  padding: 0;
}
h4 {
  color: #cd0000;
  font-size: 42px;
  letter-spacing: -2px;
  text-align: left;
}
.list {
  color: #555;
  font-size: 22px;
  padding: 0 !important;
  width: 500px;
  font-family: courier, monospace;
  border: 1px solid #dedede;
}
.list li {
  list-style: none;
  border-bottom: 1px dotted #ccc;
  text-indent: 25px;
  height: auto;
  padding: 10px;
  text-transform: capitalize;
}
.list li:hover {
  background-color: #f0f0f0;
  -webkit-transition: all 0.2s;
  -moz-transition:    all 0.2s;
  -ms-transition:     all 0.2s;
  -o-transition:      all 0.2s;
}
.lines {
  border-left: 1px solid #ffaa9f;
  border-right: 1px solid #ffaa9f;
  width: 2px;
  float: left;
  height: 495px;
  margin-left: 40px;
}

Hier ist eine Demo des abgeschlossenen Designs

Demo ansehen

Von Chris: Nochmal vielen Dank an Allen Lawson! Es gibt vielleicht Dinge in diesem Artikel, die besser oder anders gemacht werden könnten. Seien wir also konstruktiv in den Kommentaren und machen wir es besser.