网站制作公司哪里好,建e网官网效果图,精品国内网站建设,网站建设公司做销售前景好不好Tailwind CSS
一、Tailwind CSS简介
What is Tailwind CSS Tailwind CSS| TailwindCSS中文文档 | TailwindCSS中文网官方解释#xff1a;只需书写 HTML 代码#xff0c;无需书写 CSS#xff0c;即可快速构建美观的网站。本质上是一个工具集#xff0c;包含了大量类似 fle…Tailwind CSS
一、Tailwind CSS简介
What is Tailwind CSS Tailwind CSS| TailwindCSS中文文档 | TailwindCSS中文网官方解释只需书写 HTML 代码无需书写 CSS即可快速构建美观的网站。本质上是一个工具集包含了大量类似 flex、 pt-4、 text-center 以及 rotate-90 等工具类可以组合使用并直接在 HTML 代码上实现任何 UI 设计。个人理解Tailwind CSS 就是一套实用型的 CSS 框架它不像其他的 CSS 框架一样提供了一些预定义的类来实现常用样式而是提供了一组可以组合的原子类可以通过组合这些原子类来定义样式。这些原子类都是非常小的样式类它们只定义了一个具体的样式细节例如背景色、文本颜色、字体大小、宽度、高度等。通过将它们组合在一起可以快速而灵活地创建出各种不同的样式。优点 灵活高度定制化最终 CSS Bundle 极小加快渲染速度极大减少命名设计心智负担 劣势 内容样式强耦合后期维护方面或存在压力一定的学习成本Class 串稍长(apply解决) 应用场景 快速开发原型 Tailwind CSS 提供了大量的样式原子类可以快速构建出漂亮且具有效果的原型。用于大型 Web 应用 Tailwind CSS 的设计理念可以使开发者更快地开发出易于维护的 CSS 代码。同时它强调样式的规律性可以防止样式的重复定义提高代码的可读性和易维护性。与其他框架或库集成 Tailwind CSS 可以与其他框架或库集成例如 React、Vue、Angular以及其他的 CSS 框架例如 Bootstrap。在不同的应用中它可以作为一种简洁的样式定制解决方案。移动应用开发 Tailwind CSS 的响应式设计可以轻松的应用到移动应用中开发人员可以根据不同屏幕尺寸来确定相应的样式提高移动应用的适应性。
Why choose Tailwind CSS
使用成本与许可Tailwind CSS 是一个免费的开源项目使用 MIT 许可证MIT License。这意味着可以免费使用、复制、修改、合并、出版发行、再授权、销售软件及其衍生品。所以从许可证方面来说使用 Tailwind CSS 是没有直接的费用的并且可以将其直接用于商业项目。 文档资料与学习曲线Tailwind CSS 提供了详细的文档和示例使得学习过程更加简化。使用方式类似Bootstrap且提供了vscode自动补全插件方便进行快速开发。 社区支持和更新频率 Tailwind CSS 社区非常庞大且活跃拥有许多开发者、设计师和贡献者。可以在官方论坛、GitHub 仓库、Stack Overflow 和社交媒体等平台上找到大量的问题解答、教程、示例代码和实用资源。更新频率高可以及时获取到 bug 修复、新功能和安全补丁保持项目的稳定性和安全性。 性能和可扩展性 Tailwind CSS 在性能表现方面采用了一种基于原子类的方法只包含实际使用到的样式。这意味着不会加载不必要的代码从而减小了文件大小提高了加载速度。同时Tailwind CSS 提供了一套优化的构建工具和配置选项无运行时依赖和快速响应式设计使其具有良好的性能表现。Tailwind CSS 使用原子类构建块的方法通过组合不同的类来定义样式而不是使用预定义的组件。这种方法使得定制和扩展变得非常简单可以根据项目需求自由组合和重用样式类。具有高度可定制化的配置选项提供了插件系统允许轻松地扩展框架功能也可以与现有的组件库集成。
二、Tailwind CSS解决的问题
1.类名命名
一般标准做法是将CSS和HTML分开来实现关注点分离(separation of concerns)作为程序员工作中的一大难点就是起名。_||
div classchat-notificationdiv classchat-notification-logo-wrapperimg classchat-notification-logo src/img/logo.svg altChitChat Logo/divdiv classchat-notification-contenth4 classchat-notification-titleChitChat/h4p classchat-notification-messageYou have a new message!/p/div
/divstyle.chat-notification {display: flex;max-width: 24rem;margin: 0 auto;padding: 1.5rem;border-radius: 0.5rem;background-color: #fff;box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);}.chat-notification-logo-wrapper {flex-shrink: 0;}.chat-notification-logo {height: 3rem;width: 3rem;}.chat-notification-content {margin-left: 1.5rem;padding-top: 0.25rem;}.chat-notification-title {color: #1a202c;font-size: 1.25rem;line-height: 1.25;}.chat-notification-message {color: #718096;font-size: 1rem;line-height: 1.5;}
/style这种做法会起很多无所谓的名字几周之后回来修改代码时根本搞不清楚样式应用到了哪些元素上而且很可能在其它地方也会使用同样的类名当尝试修改时就导致UI无法正常工作。 使用Tailwind CSS就不需要再起这些无所谓的类名了。
div classp-6 max-w-sm mx-auto bg-white rounded-xl shadow-lg flex items-center space-x-4div classshrink-0img classh-12 w-12 src/img/logo.svg altChitChat Logo/divdivdiv classtext-xl font-medium text-blackChitChat/divp classtext-slate-500You have a new message!/p/div
/div如果你觉得HTML中类名过多可以在vscode中安装Inline fold插件会自动折叠类名。 2.语法冗长
使用class定义类名然后编写代码如此反复可能会造成很大的代码量使用Tailwind CSS能大大减少代码量压缩代码体积。 3.样式定制
Tailwind CSS 和 Bootstrap 都是前端常用的 UI 框架但它们的设计思路和使用方式存在一些区别
设计哲学 Tailwind CSS 的设计哲学是提供一系列基础工具类通过组合这些工具类来快速构建页面和 UI。而 Bootstrap 更注重提供各种 UI 组件和样式风格以便快速搭建现成的页面。样式组织方式 Tailwind CSS 使用原子级别的 CSS 类来构建页面每个类只负责一个特定的样式因此它的样式组织方式更加细粒度和灵活。而 Bootstrap 则更倾向于将多个样式组合成一个类以便快速实现某个组件或效果。自定义程度 Tailwind CSS 更容易进行自定义和扩展因为它的样式都是单独的类并且可以通过配置文件进行自定义。而 Bootstrap 设计更为全面和集成因此在进行自定义时较为困难。
4.僵尸样式
使用class编写类名再编写样式会造成样式冗余也会出现虽然定义了样式但是没有被使用到变成“僵尸样式”Tailwind 会在针对生产环境进行构建时自动删除所有未使用到的 CSS 代码也就是说 你所获得的最终的 CSS 代码包的尺寸是最小的。事实上大部分 Tailwind 项目所生成的 CSS 代码包都小于 10kB 。
5.暗黑模式
使用暗黑模式前你需要在tailwind.config.js中配置
/** type {import(tailwindcss).Config} */
module.exports {darkMode: class,// more options...
}然后你只需要少量的代码就可以使用暗黑模式了
div classw-32 h-32 bg-blue-500 dark:bg-green-500/div三、Tailwind CSS语法规则
基本规则
Tailwind CSS 是一种实用且强大的 CSS 框架它提供了一些预设的样式类可以让开发者快速地构建出美观的 UI 界面。下面是 Tailwind CSS 的基本使用方法和语法规则
样式类结构Tailwind CSS 的样式类采用以 类别-属性-值 的结构命名例如 .bg-blue-500 表示背景色为蓝色blue并且其颜色值为 500类别为 bg背景。属性值的命名规则在 Tailwind CSS 中属性值分为数值、颜色和布尔值三种类型。数值采用数字表示例如 w-20 表示宽度为 20 像素颜色采用单词或十六进制颜色值表示例如 bg-red-500 表示红色背景颜色值为 #EF4444布尔值则采用 true 或 false 表示例如 hidden 表示隐藏元素。基础样式类在 Tailwind CSS 中有一些基础样式类用于一些常用的样式调整例如 .w-10 表示元素的宽度.text-xl 表示字体大小.mx-auto 表示水平居中.text-center 表示文本水平居中.text-red-500 表示字体颜色 响应式样式类在 Tailwind CSS 中有一些响应式样式类用于在不同的屏幕尺寸下显示不同的样式。这些样式类命名规则为 {屏幕尺寸}:{属性}-{属性值}例如 text-center sm:text-left 表示在小屏幕尺寸下文本左对齐在大屏幕尺寸下文本居中。链接样式类在 Tailwind CSS 中有一些链接样式用于美化页面中的链接效果例如 .underline 表示下划线.no-underline 表示去掉下划线.hover:underline 表示鼠标悬停时出现下划线.hover:text-red-500 表示鼠标悬停时文本变为红色 其他常用样式类在 Tailwind CSS 中还提供了许多其他常用样式类例如 .rounded 表示圆角.shadow 表示阴影.bg-gradient-to-r 表示背景渐变。
通过以上的基本使用方法和语法规则可以让您更加熟悉和了解 Tailwind CSS 的使用从而更加高效地使用这个强大的 CSS 框架。
语法技巧
Tailwind CSS 是一个快速、高效且高度可定制的 CSS 框架它使用一组预定义类来快速构建 UI。以下是一些实用技巧帮助您更好地利用 Tailwind CSS 自定义颜色在 tailwind.config.js 文件中可以使用 theme 属性自定义颜色这个属性包含一个颜色对象您可以并据此为您的项目定义新的颜色。 响应式设计Tailwind 提供了一系列响应式类让您可以根据不同的屏幕尺寸为不同的设备定制 UI例如smmdlg等。 定制样式Tailwind CSS 提供了许多原始的类您可以轻松地将它们组合在一起创造出自定义样式的组合。 组合实用类通常情况下您可以通过多个实用类的组合来实现所需样式。例如要在元素上添加40个像素的上边距和底边距您可以将 pt-10上边距为10 和 pb-10底边距为10两个实用类组合在一个元素上即 classpt-10 pb-10 。扩展现有实用类您还可以通过添加前缀或后缀来扩展现有的实用类。例如要创建一个自定义的 bg-opacity-90 类即给背景添加90的不透明度只需将 bg-opacity-90 类添加到 bg-blue-500蓝色背景的后面即 classbg-blue-500 bg-opacity-90。使用 apply 来扩展样式该功能允许您将多个实用类组合成自定义样式然后将其应用于一个元素。例如您可以创建一个自定义的 font-bold-uppercase 类然后使用 apply 将 font-bold uppercase 两个类组合在一起 less复制代码.font-bold-uppercase {apply font-bold uppercase;
}然后可以应用该 font-bold-uppercase 类到一个元素中classfont-bold-uppercase。 文本样式Tailwind CSS 提供了一些实用的类可以快速设置文本的样式例如 text-center居中对齐文本、text-2xl增加文本大小。 构建网格系统您可以利用 Tailwind CSS 来构建网格系统这使得在项目中创建布局变得更加容易。利用网格系统类将组件和元素对池进行行和列的多样化排列能让您快速定位到您需要的布局。 ini复制代码div classgrid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 div classbg-gray-200 p-4Col 1/div div classbg-gray-200 p-4Col 2/div div classbg-gray-200 p-4Col 3/div
/div定位元素Tailwind 提供了各种定位元素的类包括 z-index、position、top、right、bottom、left 等等使您轻松定位元素的位置和层级。 缩放图像利用 Tailwind CSS您可以轻松地在UI中缩放图像只需使用 w-和 h- 后缀来指定图像的宽高。
四、Tailwind CSS实践
1. 安装依赖
控制台输入以下命令
# 初始化package.json文件
npm init -y# 安装tailwind
npm install -D tailwindcss# 创建tailwind.config.js
npx tailwindcss init此时项目结构如下 修改content属性使其能够定位到文件位置
// tailwind.config.jsmodule.exports {//路径注意调整content: [./**/*.{html,js}],theme: {extend: {},},plugins: [],
}2.新建index.html和input.css文件
在当前目录下新建index.html
!DOCTYPE html
html langenheadmeta charsetUTF-8meta nameviewport contentwidthdevice-width, initial-scale1.0titleDocument/title!-- 注意这里引入的output.css文件后面会用到 --link relstylesheet href/dist/output.css
/headbodyh1 classflex text-3xl font-bold underline text-blue-600Hello Tailwind CSS!/h1
/body/html在当前目录下新建input.css
/* 引入 tailwind 的基础样式 */
tailwind base;
/* 引入 tailwind 的组件样式 */
tailwind components;
/* 引入 tailwind 的工具样式 */
tailwind utilities;创建完文件后的项目结构 3.tailwind编译
使用tailwindcss对当前项目进行编译然后输出css文件
npx tailwindcss -i ./input.css -o ./dist/output.css执行完命令后的项目结构 在浏览器端预览index.html 对于其它项目中的使用可以详见TailwindCSS的使用看这一篇就够了 文章转载自: http://www.morning.pyxtn.cn.gov.cn.pyxtn.cn http://www.morning.jhxdj.cn.gov.cn.jhxdj.cn http://www.morning.ysllp.cn.gov.cn.ysllp.cn http://www.morning.jcyrs.cn.gov.cn.jcyrs.cn http://www.morning.jhwqp.cn.gov.cn.jhwqp.cn http://www.morning.huarma.com.gov.cn.huarma.com http://www.morning.nxwk.cn.gov.cn.nxwk.cn http://www.morning.qbfkz.cn.gov.cn.qbfkz.cn http://www.morning.njddz.cn.gov.cn.njddz.cn http://www.morning.bsqbg.cn.gov.cn.bsqbg.cn http://www.morning.lhxkl.cn.gov.cn.lhxkl.cn http://www.morning.dmwck.cn.gov.cn.dmwck.cn http://www.morning.qtwd.cn.gov.cn.qtwd.cn http://www.morning.fchkc.cn.gov.cn.fchkc.cn http://www.morning.xrksf.cn.gov.cn.xrksf.cn http://www.morning.bsghk.cn.gov.cn.bsghk.cn http://www.morning.sgfgz.cn.gov.cn.sgfgz.cn http://www.morning.kycwt.cn.gov.cn.kycwt.cn http://www.morning.fzqfb.cn.gov.cn.fzqfb.cn http://www.morning.kkzwn.cn.gov.cn.kkzwn.cn http://www.morning.ykgkh.cn.gov.cn.ykgkh.cn http://www.morning.qrdkk.cn.gov.cn.qrdkk.cn http://www.morning.easiuse.com.gov.cn.easiuse.com http://www.morning.gbybx.cn.gov.cn.gbybx.cn http://www.morning.clxpp.cn.gov.cn.clxpp.cn http://www.morning.qtyfb.cn.gov.cn.qtyfb.cn http://www.morning.yrpg.cn.gov.cn.yrpg.cn http://www.morning.hmmtx.cn.gov.cn.hmmtx.cn http://www.morning.wjjsg.cn.gov.cn.wjjsg.cn http://www.morning.niukaji.com.gov.cn.niukaji.com http://www.morning.rjjjk.cn.gov.cn.rjjjk.cn http://www.morning.stprd.cn.gov.cn.stprd.cn http://www.morning.jgnjl.cn.gov.cn.jgnjl.cn http://www.morning.znknj.cn.gov.cn.znknj.cn http://www.morning.cspwj.cn.gov.cn.cspwj.cn http://www.morning.kcxtz.cn.gov.cn.kcxtz.cn http://www.morning.fpqsd.cn.gov.cn.fpqsd.cn http://www.morning.qpnb.cn.gov.cn.qpnb.cn http://www.morning.dygqq.cn.gov.cn.dygqq.cn http://www.morning.rgrdd.cn.gov.cn.rgrdd.cn http://www.morning.fflnw.cn.gov.cn.fflnw.cn http://www.morning.okiner.com.gov.cn.okiner.com http://www.morning.snzgg.cn.gov.cn.snzgg.cn http://www.morning.lhxdq.cn.gov.cn.lhxdq.cn http://www.morning.fewhope.com.gov.cn.fewhope.com http://www.morning.rqhbt.cn.gov.cn.rqhbt.cn http://www.morning.thrcj.cn.gov.cn.thrcj.cn http://www.morning.sgbjh.cn.gov.cn.sgbjh.cn http://www.morning.jwmws.cn.gov.cn.jwmws.cn http://www.morning.brld.cn.gov.cn.brld.cn http://www.morning.fqqlq.cn.gov.cn.fqqlq.cn http://www.morning.tsmxh.cn.gov.cn.tsmxh.cn http://www.morning.bfmq.cn.gov.cn.bfmq.cn http://www.morning.zlsmx.cn.gov.cn.zlsmx.cn http://www.morning.mfqmk.cn.gov.cn.mfqmk.cn http://www.morning.mprtj.cn.gov.cn.mprtj.cn http://www.morning.rnkq.cn.gov.cn.rnkq.cn http://www.morning.dsxgc.cn.gov.cn.dsxgc.cn http://www.morning.ftgwj.cn.gov.cn.ftgwj.cn http://www.morning.rdwm.cn.gov.cn.rdwm.cn http://www.morning.tbplf.cn.gov.cn.tbplf.cn http://www.morning.cmdfh.cn.gov.cn.cmdfh.cn http://www.morning.mmxt.cn.gov.cn.mmxt.cn http://www.morning.dkzrs.cn.gov.cn.dkzrs.cn http://www.morning.hcrxn.cn.gov.cn.hcrxn.cn http://www.morning.lqznq.cn.gov.cn.lqznq.cn http://www.morning.dbsch.cn.gov.cn.dbsch.cn http://www.morning.mkpqr.cn.gov.cn.mkpqr.cn http://www.morning.woyoua.com.gov.cn.woyoua.com http://www.morning.yunease.com.gov.cn.yunease.com http://www.morning.xyrss.cn.gov.cn.xyrss.cn http://www.morning.kxbdm.cn.gov.cn.kxbdm.cn http://www.morning.sfnr.cn.gov.cn.sfnr.cn http://www.morning.tpqzs.cn.gov.cn.tpqzs.cn http://www.morning.rdqzl.cn.gov.cn.rdqzl.cn http://www.morning.mqfw.cn.gov.cn.mqfw.cn http://www.morning.fbpyd.cn.gov.cn.fbpyd.cn http://www.morning.bhpsz.cn.gov.cn.bhpsz.cn http://www.morning.ryxyz.cn.gov.cn.ryxyz.cn http://www.morning.cqyhdy.cn.gov.cn.cqyhdy.cn