使用 CSS 实现 Material Design 风格的按钮样式

阅读时长 10 分钟读完

Material Design 是 Google 推出的一种设计风格,被广泛应用于 Android 和 Web 应用程序中。其中,按钮是应用程序中非常基础的组件之一,使用 CSS 实现按钮样式是前端开发中的重要技能之一。本文将介绍如何使用 CSS 实现 Material Design 风格的按钮样式。

Material Design 风格按钮的特点

Material Design 风格的按钮使用较多的特点包括:

  • 按钮的形状为圆形或长方形。
  • 按钮表现出典型的墨水涟漪效果。
  • 按钮的背景色应当与前景色形成对比,以强调按钮的可点击性与可交互性。
  • 按钮应当有几种状态,包括普通状态、按下状态、禁用状态、选中状态等。

实现按钮样式

在实现 Material Design 风格的按钮样式之前,我们需要设置一些基本的 CSS 样式:

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

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

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

在上面的基本样式之上,我们可以实现 Material Design 风格的按钮样式。

圆形按钮

圆形按钮使用 border-radius 属性来定义,这里我们使用 50% 作为边框半径,达到圆形按钮的效果。

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

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

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

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

长方形按钮

长方形按钮同样使用 border-radius 属性来定义,但是边框半径仅作用于部分边框。

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

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

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

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

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

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

墨水涟漪效果

墨水涟漪效果是 Material Design 风格按钮的一大特点,使用伪元素实现:

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

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

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

按钮状态

按钮应当有不同的状态,包括普通状态、按下状态、禁用状态等。我们可以添加 CSS 类来实现不同状态的样式变化。

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

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

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

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

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

示例代码

下面是完整的示例代码,可以作为按钮组件的基础代码:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

结论

使用 CSS 实现 Material Design 风格的按钮样式需要掌握一些基础的 CSS 技能,包括盒模型、背景与边框、伪元素等。在实现过程中,我们需要注意按钮的形状、背景与前景色的对比、墨水涟漪效果以及不同的按钮状态。通过本文的介绍,相信你已经可以轻松地实现 Material Design 风格的按钮样式了!

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67729f446d66e0f9aadb7d71

纠错
反馈