Tailwindcss 入门

html-css017

Tailwindcss 入门,第1张

Tailwindcss 是一个功能类优先的 CSS 框架,通过 flex, pt-4, text-center 和 rotate-90 这种原子类组合快速构建网站,而不需要离开你的 HTML。就是记住原子类,不要再自己想 CSS 命名一股脑子写 HTMl 就行了!

它与常规的 Bootstrap、Bulma 和 Material UI 不同之处在于没有提供预设的组件,比如:按钮、菜单和面包屑等。在 Bootstrap 中创建一个按钮:

得到如下:

而 Tailwindcss 没有固定的预设样式,所以需要自己组合:

结果:

一个方法、一个库、一个框架或者说一个新的东西的出现肯定是为了解决一个问题,不然它的出现可能毫无意思。就算是手工耿做的一些无厘头的东西,实际看着还有点用呢(最近他给僵尸做了一辆自行车):

那 Tailwindcss 解决了什么问题?可以从作者的意图看出:

他认为语义化的 CSS 并不是很好维护。

其实想想自己项目初始的时候自己起的很有语义化的名字,随着业务的变化和不同人员的更改那个起初很有意义的名字已经 名不符实

还有我们在使用 Bootstrap 预设类的 UI 框架时遇到设计风格和公司内部不同时,重置样式也会带来头疼的问题。

我们这里使用的是 V3 版本的 CDN(不推荐),若想配合构建工具看看官网如何使用的。V2 的 CDN 是引入一个 CSS 文件,而 V3 引入的是一个 script 。

结果:

https://tailwindcss.com/docs/hover-focus-and-other-states

结果:

看下 hover 是如何实现的:

我们之前给某个样式添加 hover 如何做?

在 Tailwindcss 中不是给现有的 class 添加一个 hover 状态,而是新增一个特定功能的 class :

这样有类似 hover 样式的就可以复用了。

学习 Tailwindcss 的期初负担在于记忆类名,还好都是有规律可循的:

CSS

释义<一>

CSS(Cascading Style Sheets),即层叠样式表,与HTML超文本标记语言配合以定义网页表现的样式语言。

历史

当初一帮技术人员想出HTML,主要侧重于定义内容,比如<p>表示一个段落,<h1>表示标题,而并没有过多设计HTML的排版和界面效果。

随着Internet的迅猛发展,HTML被广泛应用,上网的人们当然希望网页做得漂亮些,因此HTML排版和界面效果的局限性日益暴露出来。为了解决这个问题,人们也走了不少弯路,用了一些不好的方法,比如给HTML增加很多的属性结果将代码变得很臃肿,将文本变成图片,过多利用Table来排版,用空白的图片表示白色的空间等。直到CSS出现。

CSS可算是网页设计的一个突破,它解决了网页界面排版的难题。可以这么说,HTML的Tag主要是定义网页的内容(Content),而CSS决定这些网页内容如何显示(Layout)。

CSS与网页的链接方法

内嵌样式(Inline Style)

内部样式表(Internal Style Sheet)

外部样式表(External Style Sheet)

内嵌样式(Inline Style)

Inline Style是写在Tag里面的。内嵌样式只对所在的Tag有效。

<P style="font-size:20ptcolor:red">这个Style定义<p></p>里面的文字是20pt字体,字体颜色是红色。</p>

显示示例

内部样式表(Internal Style Sheet)

内部样式表是写在HTML的<head></head>里面的。内部样式表只对所在的网页有效。

<HTML>

<HEAD>

<STYLE type="text/css">

H1.mylayout {border-width:1border:solidtext-align:centercolor:red}

</STYLE>

</HEAD>

<BODY>

<H1 class="mylayout">这个标题使用了Style。</H1>

<H1>这个标题没有使用Style。</H1>

</BODY>

</HTML>

显示示例

内部样式表(Internal Sytle Sheet)要用到Style这个Tag,写法如下:

<STYLE type="text/css">

......

</STYLE>

外部样式表(External Style Sheet)

如果很多网页需要用到同样的样式(Styles),用什么方法呢?

将样式(Styles)写在一个以.css为后缀的CSS文件里,然后在每个需要用到这些样式(Styles)的网页里引用这个CSS文件。

比如可以用文本编辑器(NotePad)建立一个叫home的文件,文件后缀不要用.txt,改成.css。文件内容如下:

H1.mylayout {border-width: 1border: solidtext-align: centercolor:red}

然后你建立一个网页,代码如下:

<HTML>

<HEAD>

<link href="../asdocs/css_tutorials/home.css" rel="stylesheet" type="text/css">

</HEAD>

<BODY>

<H1 class="mylayout">这个标题使用了Style。</H1>

<H1>这个标题没有使用Style。</H1>

</BODY>

</HTML>

显示示例

使用外部(Extenal)样式表,相对于内嵌(Inline)和内部式(Internal)的,有以下优点:

样式代码可以复用。一个外部CSS文件,可以被很多网页共用。

便于修改。如果要修改样式,只需要修改CSS文件,而不需要修改每个网页。

提高网页显示的速度。如果样式写在网页里,会降低网页显示的速度,如果网页引用一个CSS文件,这个CSS文件多半已经在缓存区(其它网页早已经引用过它),网页显示的速度就比较快。

解决css文件过大的问题

如果页面内容过多,css文件会很大,同样会造成很多不便,那么我们该如何解决这个问题呢?我们可以对每个细节进行css设计,比如对于字体的设置我们可以存入font.css文件,对边界等的设定我们可以存入lay.css文件,对其他一些版式的规定可以存入other.css文件,然后我们建立一个main.css文件,然后在里边写入如下代码:

@import url(font.css)

@import url(lay.css)

@import url(other.css)

然后只需要在html文件里添上main.css的链接即可,这样子一方面减小了css文件的容量,另一方面似乎也更方便管理,特别是对大型网站。

串联(Cascading)

CSS第一个字母,是Cascading,意为串联。它是指不同来源的样式(Styles)可以合在一起,形成一种样式。

Cascading的顺序是:

浏览器缺省(browser default)(优先级最低)

外部样式表(Extenal Style Sheet)

内部样式表(Internal Style Sheet)

内嵌样式表(Inline Style)(优先级最高)

样式(Styles)的优先级依次是内嵌(inline), 内部(internal), 外部(external), 浏览器缺省(browser default)。假设内嵌(Inline)样式中有font-size:30pt, 而内部(Internal)样式中有font-size:12pt,那么内嵌(Inline)式样式就会覆盖内部(Internal)样式。