CSS Reset 之后如何解决默认 widget 样式问题

当我们开始写前端代码时,我们需要遵循一些基本样式。 但是,每个浏览器都有自己的默认样式,这可能会导致浏览器之间的显示差异。为了解决这个问题,我们使用 CSS reset。

CSS reset 是一组约定俗成的 CSS 规则,用于清除浏览器默认样式并建立通用样式。 但是,CSS reset 会导致默认 widget 样式问题,如何解决呢?这篇文章将提供一些解决方案。

问题描述

当我们重置了浏览器默认样式后,部件元素(如 input、button)也被重置了。因此,我们必须手动定义它们的外观和行为。下面是一个示例:

------ ----------- ----------------
------------------ -
  -- ------------ --
  ------- --
  -------- --
  
  -- ---- --
  ------------ ------ -----------
  ---------- -----

  -- ------- --
  ----------------- --------
  ------- --- ----- --------

  -- ------- --
  ------ ------
  ------- -----

  -- ------ --
  ------- -----

  -- ------ --
  -------------------- -----
     ----------------- -----
      ---------------- -----
          ------------ -----
-

通过上面的 CSS 代码,我们已经把 input 元素完整定义出来了。如果我们要用到不同类型的部件,例如按钮,选择框等,我们需要定义其外观和行为。

这是个极具挑战的过程,不过随着经验不断增加,我们会更加熟练。 下面是一些有用的提示。

提示

1. 使用全局样式

可以为元素添加全局样式,使其在整个应用程序中保持一致。这需要使用类选择器,这样可以精简代码并降低维护成本。

例如,我们可以使用以下代码来定义所有输入元素的样式:

-- ------------- --
------
---------
------ -
  -- ------------ --
  ------- --
  -------- --

  -- ---- --
  ------------ ------ -----------
  ---------- -----
-

-- ---------- --
-------------------
-------- -
  ----------------- --------
  ------- --- ----- --------
-

-- ------- --
------ -
  ----------------- ---------------
  ------------------ ----------
  -------------------- ----- -------
-

2. 使用现成的库

有很多现成的库提供可以使用的预定义样式。

例如,Bootstrap 是最受欢迎的 CSS 库之一,它提供了许多美观现代的样式,包括按钮、表单元素和其他部件。

3. 充分利用 Cascading

Cascading 是 CSS 中一种非常强大的功能。 可以使用特殊标记(如 #、. )或伪类(如 :hover)强制套用特定规则。

例如,为所有带有 "required" 类别标记的输入元素添加背景颜色:

-- ----------- --
---------------
----------------- -
  ----------------- --------
-

4. 注意细节

在使用自定义部件样式时,要注意思考尽可能多的细节。例如,确保在适当的设备上正常工作并遵循无障碍设计原则 。除了常见的控件外,我们还需要考虑较少使用的控件,例如 进度条、日期选择器等。

结论

CSS reset 与出现默认 widget 样式问题不一定是两条不同的路线。 反之,它们是相对的问题,需要在我们的代码中建立最佳实践。

使用全局样式、预定义库、强制Cascading 命令以及关注细节等技巧都是解决默认部件样式问题的好方法。最后,通过不断地学习和实践,我们可以成为一位熟练的前端开发工程师。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/67022217d91dce0dc8469294