npm包 hatt使用教程

前言

在前端开发中,样式处理一直是一个必不可少的环节。传统的 CSS 都需要写大量重复的代码,使用 sass/less/stylus 等 preprocessor 可以解决这个问题,但是往往会增加项目的复杂性。如果只是想要一些简单的样式集合,我们可以使用 hatt。

hatt 是一个轻量级的样式集合,它不需要编译或者安装,只需要通过 npm 引入即可。hatt 提供了很多实用的 mixins ,可以帮助我们快速编写样式集合,尤其适合用在 UI 组件库中。

本文将详细介绍如何使用 hatt,包括如何安装、使用以及这些 mixins 的详细解释。

安装

使用 hatt 非常简单,只需要通过 npm 安装即可:

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

在项目中使用时,只需要在样式文件中引入即可:

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

如果你使用的是 less,也可以直接通过以下方式引入:

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

hatt 会自动写入到你的项目样式中,然后你就可以使用其中所有的 mixins 了。

使用

hatt 中的 mixins 都以“--”开头,你可以在自己的样式化文件之中使用,以达到快速便捷地产生自定义样式规则的目的。

Grid system(栅格系统)

  • --xs-cols(count, gap):生成指定列数和内边距的 xs 列容器。
  • --sm-cols(count, gap):生成指定列数和内边距的 sm 列容器。
  • --md-cols(count, gap):生成指定列数和内边距的 md 列容器。
  • --lg-cols(count, gap):生成指定列数和内边距的 lg 列容器。
  • --xl-cols(count, gap):生成指定列数和内边距的 xl 列容器。
  • --gap(value):为容器增加水平间隙。
  • --row-gap(value):为容器增加垂直间隙。
  • --col-span(cols):设置列跨度为 cols

Units(单位)

  • --half:50%。
  • --thrid:33.33333%。
  • --two-thirds:66.66667%。
  • --quarter:25%。
  • --three-quarters:75%。
  • --aspect-ratio(width, height):固定宽高比。
  • --fluid-type(min-size, max-size, min-view-width, max-view-width):响应式字体方案。

Typography(排版)

  • --font(face):设置字体。
  • --h(size):设置标题的行高和内边距。
  • --h1:设置 h1 的样式,行高为 1.2em 。
  • --h2:设置 h2 的样式,行高为 1.1em 。
  • --h3:设置 h3 的样式,行高为 1em 。
  • --h4:设置 h4 的样式,行高为 0.9em 。
  • --h5:设置 h5 的样式,行高为 0.8em 。
  • --h6:设置 h6 的样式,行高为 0.7em 。
  • --line(lineColor, lineWidth, lineStyle, linePosition):设置文本的底线。
  • --ellipsis(lines):一行或多行的文本溢出省略。

Helpers(辅助类)

  • --abs-center:绝对居中。
  • --fixed-center: 固定定位居中。
  • --clearfix:浮动清除。
  • --visuallyhidden:屏幕阅读器可见性调整。

示例代码

我们来看看一个使用 hatt 来实现栅格系统的例子:

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

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

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

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

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

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

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

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

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

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

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

在这个例子中,我们通过设置不同的列容器内边距和列数,来实现了一个响应式栅格系统。同时,通过使用 hatt 中的其他 mixins,比如 --gap,我们不需要写任何多余的 CSS。

总结

hatt 是一个非常适合用在 UI 组件库中的轻量级样式集合,它提供了很多实用的 mixins,可以大大减少样式编写时间。同时,hatt 的安装和使用也非常简单,只需通过 npm 安装即可开始使用。

如果你正在开发一个 UI 组件库,或者想要简化样式编写流程,不妨尝试一下 hatt。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/600557eb81e8991b448d4fd4


猜你喜欢

  • NPM包Redux-Small-Axios-Middleware使用教程

    如果你是一名前端开发者,并且使用过React和Redux,那你一定知道如何使用Axios库来处理网络请求。但是,当你使用Redux处理应用程序状态时,你会发现Redux的一个缺点是它不能轻易地处理异步...

    2 年前
  • npm 包 baidu-ocr-another 使用教程

    前言 在前端代码开发的过程中,我们经常需要处理文本识别的场景,例如识别图片中的文字。百度提供了一款免费的文字识别 API 服务,并且提供了与之对应的 npm 包 baidu-ocr-another。

    2 年前
  • npm 包 ganomede-errors 使用教程

    在前端开发中,出错是不可避免的。为了更好地处理错误信息,我们可以使用 npm 包 ganomede-errors。它是一个轻量级、易于使用的工具,可以帮助开发者更有效地管理和处理错误信息。

    2 年前
  • npm 包 hexo-theme-material-indigo-custom 使用教程

    在现代 web 开发中,前端框架和工具是不可或缺的。npm 是一个包管理器,支持大量的 web 开发包和模块的发现、安装和管理。而 hexo 是一个流行的静态网站生成器,它允许用户用 Markdown...

    2 年前
  • npm 包 micro-keyboard 使用教程

    在现代的 Web 开发中,使用键盘快捷键已经成为了极其常见的需求。为了满足这一需求,我们编写了一个 npm 包,名叫 "micro-keyboard" ,它提供了一种方便快捷的方式,让开发者更加轻松地...

    2 年前
  • npm 包 core-service 使用教程

    在前端开发中,我们经常需要使用一些工具来帮助我们快速地实现某些功能。Npm 包 core-service 就是这样一款非常实用的工具。本文将为大家介绍 core-service 的详细使用教程,包含使...

    2 年前
  • npm 包 app-element-datepicker 使用教程

    简介 app-element-datepicker 是一个用于在 Web 应用中展示日期选择器的 npm 包。该包提供了一些可自定义的选项,使得开发者可以轻松地在自己的 Web 应用中集成日期选择器,...

    2 年前
  • npm 包 package-alt-cson 使用教程

    在前端开发中,我们经常需要使用一些第三方的库和工具来提高我们的工作效率和开发质量。而 npm(Node.js 包管理器)就是一个非常好用的工具,它为我们提供了一个大型的、高质量的软件生态系统。

    2 年前
  • npm 包 routes-tree-loader 使用教程

    在前端开发中,路由管理是非常重要的一部分。而 routes-tree-loader 是一款 npm 包,可以帮助我们更加方便地管理和使用路由。本篇文章将详细介绍 routes-tree-loader ...

    2 年前
  • npm 包 wordpress-docker-boilerplate 使用教程

    前言 如果你是一名 WordPress 开发者,那么你肯定知道在本地搭建 WordPress 开发环境的痛苦。而 Docker 则是这个问题的解决方案之一。但是,学习 Docker 并不是一件容易的事...

    2 年前
  • npm 包 app-element-pagination 使用教程

    在前端开发中,分页功能是非常常见的需求。而 app-element-pagination 就是一个非常方便的 npm 包,它提供了友好易用的分页组件,可以帮助我们快速实现分页功能。

    2 年前
  • npm 包 app-element-loading 使用教程

    在前端开发中,我们经常需要对页面或者某个元素进行加载状态的提示,比如说页面正在加载中,或者某个按钮被点击后正在请求数据。为了方便起见,我们可以使用一款名为 app-element-loading 的 ...

    2 年前
  • npm 包 app-element-table 使用教程

    介绍 app-element-table 是一个基于 Vue.js 的表格组件库,提供了丰富的表格操作功能。它可以适用于大部分的前端应用开发,并且具备高度的灵活性和可扩展性。

    2 年前
  • npm 包 app-element-upload 使用教程

    简介 在前端开发中,上传文件是常见的用户交互需求,而且需要考虑多种情况,如文件类型限制、文件大小限制、上传进度展示等。因此,前端开发人员需要使用专业的上传组件来解决这些问题,而 npm 包 app-e...

    2 年前
  • propellerkit-datatables 使用教程

    前言 在现代化的前端开发中,我们经常需要用到表格组件进行数据展示。Datatables 是一款很流行的表格组件,它功能强大丰富,而且可以自定义表格样式和功能。 propellerkit-datatab...

    2 年前
  • npm 包 angular-event-service 使用教程

    在前端开发中,经常需要实现组件之间的通信,为了更加方便地进行事件传递,可以使用 angular-event-service npm 包。这个 npm 包提供了一系列的服务和指令,能够轻松实现组件之间的...

    2 年前
  • npm 包 cronshouldrun 使用教程

    概述 Node.js 是一个非常强大的后端开发语言,但它也有着优秀的前端开发能力。在前端开发中,我们通常使用 NPM (Node Package Management) 来安装一些第三方的 JavaS...

    2 年前
  • npm 包 doorway 使用教程

    前言 在前端开发中,npm 包已经成为不可或缺的一部分。随着前端工具越来越智能化,我们可以很方便地使用别人的 npm 包完成前端开发中的各种需求。而今天,我们要介绍一个非常有用的 npm 包——doo...

    2 年前
  • npm 包 make-dmg 使用教程

    概述 在前端开发中,我们常常需要将我们的应用打包成 dmg 格式的安装包,供用户下载和安装使用。而 make-dmg 这个 npm 包就是一个非常好用的 dmg 打包工具,能够帮助我们快速、方便地生成...

    2 年前
  • npm 包 angular-jsv 使用教程

    介绍 angular-jsv 是一个基于 AngularJS 框架的 JSON Schema 验证库,它可以让我们很方便地在前端进行 JSON 数据的格式校验。它的实现原理是使用 JSON Schem...

    2 年前

相关推荐

    暂无文章