如何用 CSS 创建笔记本设计

Avatar of Allen Lawson
Allen Lawson

DigitalOcean 为您旅程的每个阶段提供云产品。 立即开始使用 $200 免费赠送额度!

来自 Chris: 嘿,各位!今天是一篇来自 14 岁开发者 Allen Lawson 的客座文章。 我注意到越来越多的年轻人参与到 web 社区,我觉得这很棒,我想尽我所能鼓励他们。

本教程将向您展示如何仅使用 CSS 创建一个笔记本主题网站。


首先,我们将通过创建基本的包装器开始,指定 body 标签应具有以下 CSS 属性

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

接下来,我们将创建一个无序列表,我将其命名为 list

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

添加 padding:0; 的原因是,在教程的后面,当我们添加红色笔记本线条时,事情会变得乱七八糟。 宽度可以指定为任何你想要的值;我只是使用了 600px,因为它最合适。 另一个关键属性是边框。 这使它看起来干净整洁。

接下来,我们对 li 进行样式设置

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

这几乎是不言自明的。 确保添加 border-bottom: 1px dotted #ccc;。 对我来说,这确实赋予了它“笔记本纸”主题。

如果您愿意,您可以在 li 上使用伪类 :hover,使其看起来更干净。 谁不喜欢一个好的悬停效果呢?

.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;
}

以下是我们到目前为止的 HTML

<!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>

最后,我们将添加垂直红色线条

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

这可能是本教程中最漂亮的东西,但也是我最讨厌的东西,因为我无法让它在添加新列表项时自动调整大小。 所以每次添加新的 li 时,您都必须增加红色线条的高度 - 这非常令人头疼。 除此之外,确保您指定 width2px,否则它将只是一条线。

最后一点,您必须为列表项添加 text-indent25px,这样文本就不会直接在红色线条旁边呈现。

准备添加红色线条后,将此代码插入 <ul> 之前。

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

您的最终 CSS 将如下所示

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;
}

以下是完成主题的演示

查看演示

来自 Chris:再次感谢 Allen Lawson! 本文可能有一些地方可以做得更好或不同,因此让我们在评论中进行建设性的讨论并使其变得更好。