#036:构建搜索,第二部分

我们从 视频 #034 中断的地方继续,并继续构建搜索区域。

这次我们专注于搜索的“打开”状态,构建实际的表单元素本身。搜索字段本身使用 HTML5 表单元素类型“search” - 通常 具有一些自定义样式 与之相关,但由于我们使用 Normalize (视频 #011),这对我们来说不是问题。

我们为网站上按钮的样式创建了一个新的模块化 CSS (_buttons.scss)。看看我们在那里做什么?任何从心理上来说应该被隔离的样式位,我们都为其创建一个新文件。我们可以根据需要进行尽可能多的操作而无需担心,因为这些文件最终都会与 Sass 一起连接。

三维按钮外观仅通过大量逗号分隔的框阴影创建。颜色很容易更改,因为使用(你猜对了!)变量。

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

我们在输入元素中回显相同的样式(仅在内部而不是外部),完成 3D 外观。阴影的偏移量与我们的 $offset 变量相匹配,从而实现了一些设计一致性。

不在此视频中,但在稍后,我们发现输入的内部阴影更容易使用两个边框而不是所有阴影(边框在一定角度相遇)来实现。不幸的是,按钮上无法实现。

这种内嵌输入样式最终会渗透到整个网站的所有输入样式中,无论好坏。