全国免费咨询:

13245491521

VR图标白色 VR图标黑色
X

中高端软件定制开发服务商

与我们取得联系

13245491521     13245491521

2024-12-07_听说还有人不会TailwindCss?最全实践指南它来啦(样式篇-上-附源码与效果展示)

您的位置:首页 >> 新闻 >> 行业资讯

听说还有人不会TailwindCss?最全实践指南它来啦(样式篇-上-附源码与效果展示) 点击关注公众号,“技术干货”及时达! ?逆熵而行,向阳而生,我是向阳花!继前一篇《TailwindCSS最全实际指南-环境篇》之后,本文是此系列第二篇文章-样式篇,此系列文章共分为: 「环境篇」:包括Tailwind简介、·tailwindcss的优势、如何快速创建项目、turbopack简介及优势、TailwindCss相关插件(官方插件和类名排序插件的用法,以及其它特殊场景如何做排序,包括clsx类名拼接额外知识拓展等)、已有css知识体系如何快速跟TailwindCss做关联等等「样式篇-上」:如何使用系统预设样式?、如何自定义样式?、宽高、如何撑满容器屏幕?和如何撑满设备屏幕?、如何定义视口安全高度?、如何定义视口布局高度?和如何定义动态视口高度?、尺寸size-xx、边距(margin、padding、space)、边框(border、divide、outline)、字体相关(大小、样式、加粗、字符间距、行高)、文本排版(对齐方式、颜色、超出时的处理方式、换行、空白字符的处理)等等,还会包含一些容易忽略的css知识点。每个案例都「附加源码与效果展示」,主打一个让你不用实操一学就会!「样式篇-下」:下篇我们一起来学习布局、Flexbox、Grid以及TailwindCss的核心功能-如何定制?「答疑篇」:会整理一些TailwindCss使用过程中常见的一些踩坑点及解决方案、比如TailwindCss跟unocss的区别、如何覆盖默认的尺寸让1单位值不等于4px?听闻tailwindcss 会明显降低vite 热更新的速度???等等,如果你使用过程中也碰到了有趣的问题,也可以评论区一起交流 ??。?? 学前必知 ?? 本系列文章所有案例项目中,TailwindCss版本是3.4.1,Next框架版本为15.0.3如果你也想跟我一起从0-1体验一下Tailwindcss,但又嫌创建项目麻烦,可通过官方的Playground在线快速体验。?? 学前必会 ?? 系统预设默认样式值的最小值或者我们可以将其理解为“步长”为1(如下图),代表0.25rem,对应4px,如果想用其它数值就可以随意自定义了,具体如何自定义下文会介绍。 ? 废话不多说我们直奔主题开启TailwindCss的体验之旅~ 宽高基础宽高使用系统预设宽高:w-xx、h-xx其中w表示宽度,h表示高度,h-14表示高度为3.5rem,对应56px;同理,w-52则表示宽度为13rem,对应208px 如何自定义其它数值?可以使用方括号[]自定义任意数值,比如px、rem、em等。 ?关于em和rem的区别相信无需我多言吧?rem是相对于根元素(html)的,em是相对于其父元素的,比如上述例子中我将他们的父元素特意设置成了14px,根元素为16px,所以此时8rem就不等于8em了(效果如上图)。 ?如何自定义百分比数值?我们可以使用w-分子/分母、h-分子/分母表示 w-full和w-screenw-full和w-screen分别表示撑满容器的100%和撑满设备屏幕的100%,其中w-screen相当于100vw h-svh、h-lvh、h-dvhh-svh 表示100svh,代表视口安全高度「优势」:在移动设备上,浏览器的地址栏等界面元素可能会在用户滚动或与页面交互时出现或隐藏,这会导致视口高度发生变化。使用100svh可以让元素(如一个全屏的容器)在这种动态变化的环境中,尽可能地占满可视的安全区域,避免出现因为视口高度变化导致布局混乱的情况 h-lvh 表示 100lvh,代表布局视口高度「优势」:例如,一个具有固定头部和底部导航栏的页面,中间内容区域希望能够填满剩余的布局视口高度,可以将中间内容区域的高度设置为100lvh,减去头部和底部导航栏的高度,这样可以保证内容区域在布局视口内的高度布局符合预期 h-dvh 表示 100dvh,代表动态视口高度「优势」:在一些具有复杂交互的网页应用中,如表单页面,当软键盘弹出时,视口高度会发生变化。使用100dvh可以让页面的某些元素(如表单下方的提示信息区域)能够根据动态变化的视口高度自动调整大小,保证在软键盘弹出和隐藏等各种状态下,页面布局依然能够保持合理的显示效果 上述是视口高度相关的介绍,当然视口宽度也是一样的。 最大、最小宽高min-w-[] 和max-w-[] 分别表示最小和最大宽度,min-h-[] 和max-h-[] 分别表示最小和最大高度 以max-w-52为例,代表最大宽度13rem,208px 尺寸size通过size可快速创建一个指定宽高的正方形元素 ???注意?? 部分低版本可能并没有这个属性,我使用的案例TailwindCss版本是3.4.1 ? 边距margin padding space写过React框架antd项目的同学一定非常清楚,space代表间距。具体值有space-x-xx和space-y-xx,分别表示x和y两个方向的间距,值会根据所选自动计算。 边框border??? 注意 ?? 如果直接写border-t则表示border-top-width: 1px,下边框同理如果直接写border则表示border:1px?定义线宽borderborder-width: 1pxborder-xx4个方向的border均为xxborder-tborder-top-width: 1pxborder-t-xxborder-top-width: xxborder-b-xxborder-bottom-width: xxborder-l-xxborder-left-width: xxborder-r-xxborder-right-width: xxborder-x-xxborder-right-width: xx; border-left-width: xx;border-y-xxborder-top-width: xx; border-bottom-width: xx定义线颜色: border-色系-色值 定义线类型border-solidborder-style: solidborder-dashedborder-style: dashedborder-dottedborder-style: dottedborder-doubleborder-style: double 自定义线弧度roundedborder-radius: 0.25rem; /* 4px */rounded-mdborder-radius: 0.375rem; /* 6px */rounded-lgborder-radius: 0.5rem; /* 8px */rounded-fullborder-start-start-radius: 9999px; border-end-start-radius: 9999px; divide定义水平方向或者垂直方向元素的border值,举例: divide-xborder-right-width: 0px = border-left-width: 1px;divide-x-2border-right-width: 0px; = border-left-width: 2px;divide-yborder-top-width: 1px; = border-bottom-width: 0px;divide-y-2border-top-width: 2px; = border-bottom-width: 0px;以水平方向举例如下,垂直方向同理。想起之前给多个元素定义边框还需手动出来重叠,这种方式是真香?? outline定义元素轮廓,适用于button按钮等场景,可快速为元素添加类似border带圆角的效果,可自定义outline的颜色、宽度、偏移等。 文本排版字体FontSize 具体取值如下: text-xsfont-size: 0.75rem /* 12px /;line-height: 1rem / 16px */;text-smfont-size: 0.875rem /* 14px /;line-height: 1.25rem / 20px */;text-basefont-size: 1rem /* 16px /;line-height: 1.5rem / 24px */;text-lgfont-size: 1.125rem /* 18px /;line-height: 1.75rem / 28px */;text-xlfont-size: 1.125rem /* 18px /;line-height: 1.75rem / 28px */;FontStyle定义文本倾斜效果,值为italic和not-italic,默认not-italic FontWeight定义字体加粗效果 字符间距tracking 定义字符间的间距 使用及效果如下图: 行高??? 注意 ?? 除了具体数值以外,其它行高数值诸如1.25、1.5代表的都是「比例因子」,代表行高是字体大小的倍数,这么定义的优势是拥有继承特性且能实现按比例变化的响应值。 ?对应具体数值如下: leading-xxline-height: xxremleading-noneline-height: 1leading-tightline-height: 1.25leading-snugline-height: 1.375leading-normalline-height: 1.5leading-relaxedline-height: 1.625leading-looseline-height: 2代码书写及对应效果如下: Text文本文本对齐方式-TextAligntext-lefttext-align: lefttext-centertext-align: centertext-righttext-align: righttext-justifytext-align: justifytext-starttext-align: starttext-endtext-align: end 文本颜色-TextColor使用系统预设色系 text-色系-色值TailwindCss为我们提供了一系列丰富的可选配色色系,可先根据需求选择大概色系,比如blue、grey、pink、green等,然后再选择色值 自定义颜色值如果系统预设色值不够精确无法满足需求,可通过text-[#xxx]随意输入指定色值 TextOverflow表示文本内容超出时的展示方式,内部也集成了我们最常见的设置文本超出时变成省略号的样式,具体取值如下: truncateoverflow: hidden; text-overflow: ellipsis; white-space: nowrap;text-ellipsistext-overflow: ellipsis; // 当内容超出时展示省略号text-cliptext-overflow: clip; // 当内容超出时裁剪掉 文本换行 text-wrap具体的取值如下: text-wraptext-wrap: wrap;换行text-nowraptext-wrap: nowrap;不换行text-balancetext-wrap: balance;平衡的换行,使每一行字符长度尽可能均匀text-prettytext-wrap: pretty;不仅考虑平衡,还要考虑字符间距实现美观,比如避免末尾出现孤立的单个字符,更适合对排版要求比较高的场景比如新闻网站 空白字符whiteSpacewhitespace-normalwhite-space: normal;多余空白字符合并为1个 + 根据文本响应式换行whitespace-nowrapwhite-space: nowrap;多余空白字符合并为1个 + 不换行whitespace-prewhite-space: pre;保留多余空白字符 + 按原始换行符换行whitespace-pre-linewhite-space: pre-line;多余空白符合并为1个 + 保留原始换行的同时可根据空间自动换行whitespace-pre-wrapwhite-space: pre-wrap保留多个空白字符 + 保留原始换行的同时可根据空间自动换行whitespace-break-spaceswhite-space:break-spaces-whitespace-break-spaces单独展开说一下: 「空格和制表符处理」:在break - spaces模式下,空格和制表符会被保留,并且在文本换行时,它们会像普通字符一样被考虑。这意味着如果一个单词后面跟着一些空格或制表符,然后文本需要换行,这些空白字符会被移到下一行的开头,而不是像在normal模式下被简单地忽略或合并。例如,假设有一个长单词后面跟着几个空格,在break - spaces模式下,如果这个长单词在容器边缘处换行,那么这些空格会跟着单词一起换行,而不是消失。 「换行符处理」:换行符同样会被保留,并且会强制文本换行。与pre - line不同的是,break - spaces在处理换行符时更加灵活,它不仅会在换行符处换行,还会考虑换行符前后的空白字符以及它们在换行后的布局 总结本文我们全面且系统地学习了如何使用系统预设样式?、如何自定义样式?、宽高、如何撑满容器屏幕?和如何撑满设备屏幕?、如何定义视口安全高度?、如何定义视口布局高度?和如何定义动态视口高度?、尺寸size-xx、边距(margin、padding、space)、边框(border、divide、outline)、字体相关(大小、样式、加粗、字符间距、行高)、文本排版(对齐方式、颜色、超出时的处理方式、换行、空白字符的处理)等等,还会包含一些容易忽略的css知识点。每个案例都「附加源码与效果展示」。 「后续两篇」我们将一起学习布局、Flexbox、Grid以及TailwindCss的核心功能-如何定制?以及会整理一些TailwindCss使用过程中常见的一些踩坑点及解决方案、比如TailwindCss跟unocss的区别、如何覆盖默认的尺寸让1单位值不等于4px?听闻tailwindcss 会明显降低vite 热更新的速度???等等。如果你使用过程中也碰到了有趣的问题,也可以评论区一起交流 ??。 点击关注公众号,“技术干货”及时达! 阅读原文

上一篇:2024-06-30_「转」在这里,会有下一个“封神三部曲”吗? 下一篇:2022-06-27_【招聘】多城市招人才,进来看看

TAG标签:

20
网站开发网络凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设网站改版域名注册主机空间手机网站建设网站备案等方面的需求...
请立即点击咨询我们或拨打咨询热线:13245491521 13245491521 ,我们会详细为你一一解答你心中的疑难。
项目经理在线

相关阅读 更多>>

猜您喜欢更多>>

我们已经准备好了,你呢?
2022我们与您携手共赢,为您的企业营销保驾护航!

不达标就退款

高性价比建站

免费网站代备案

1对1原创设计服务

7×24小时售后支持

 

全国免费咨询:

13245491521

业务咨询:13245491521 / 13245491521

节假值班:13245491521()

联系地址:

Copyright © 2019-2025      ICP备案:沪ICP备19027192号-6 法律顾问:律师XXX支持

在线
客服

技术在线服务时间:9:00-20:00

在网站开发,您对接的直接是技术员,而非客服传话!

电话
咨询

13245491521
7*24小时客服热线

13245491521
项目经理手机

微信
咨询

加微信获取报价