接触tailwindcss不过两周有余,但是仅仅刚接触不到一天的时候,我已经深深的被它吸引,我从未见过一款css库可以做到如此好用、如此灵活,几乎不用自己再写css了,我觉得它比任何一款样式库都要好用。
如果您遇到的通用框架由许多组件预先设计组成,则在此TailwindCSS中,您将找不到诸如按钮,卡片,警报,轮播等其他预先设计的组件。因为TailwindCSS不是UI工具包,而是实用程序优先的框架,用于快速构建自定义界面。
简而言之,在TailwindCSS中,有许多小类代表CSS声明。因此,当您要创建组件时,则需要使用其中的一些小类来创建您要引用的组件。
发的使用方法大体如下:
只要你记住它的命名规则,然后在className里面拼写各个小样式的名称即可,你不用担心某些css属性tailwind会覆盖不到,我用这两周来几乎没碰到这种情况,可以去官网看下,每个属性都有详细的说明,你也不要觉得这么多小样式的名称很难记住,我几乎只用半天时间就掌握了它的命名规则,而一旦你掌握了它的命名规则,基本不用死记硬背,只要按规则去拼写就可以,当然这有个前提:你对css属性非常熟悉。
基本用法就是如我上面所写,当然如果只有这些,很可能很满足不了一些情况,tailwind提供了非常丰富的自定义接口,例如:
如上即可表示默认宽度是 w-full 即(width:100%), md 表示当前设备是pc端(screen宽度大于768px,当然这个断点也可以自己定义),这个样式的意思就是在移动端全屏在pc端宽度固定为520px,爽吗?这样写?
使用的时候就可以:
用的时候更加灵活,比如字体颜色,只需要:
采用 text-{颜色名} 即可,别的都同理了,比如背景色: bg-{颜色名} 即可,比如: bg-primary01
定义好scss样式,
导入css,之后就可以混合使用:
定义要覆盖的样式:
即可覆盖,当然用scss的方式也可以覆盖,这种相当于内联样式覆盖,优先级最高。
当mobileOptions为true的时候,样式 option-group--mobile 才会起作用。
本文持续更新,随着我对这个库的认识的更加深入。
工具/材料notepad++
浏览器
01打开Notepad++,先输入个页面框架
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<hade>
</hade>
<body>
</body>
02框架好了,那么就该定义页面的title,关键词keyword,和描述description
<meta charset="UTF-8" content="text/html" http-equiv="content-type">
<title>纯css二级导航下拉菜单</title>
<meta name="keyword" content="搜狗略懂">
<meta name="description" content="描述">
这些内容只能在<head></head>中完成。
03定义页面使用的css样式,也是需要在<head>里定义的。
<style type="text/css">
* {
margin:0
padding:0
}
.jiao ul li a:hover{
color:#red
}
ul, li {
list-style:none
}
a {
text-decoration:none
}
.jiao {
border:5px solid #pink
border-right:none
overflow:hidden
float:left
margin:200px 0 0 600px
}
.jiao ul li ul li a {
border-right:solid
border-top:2px dotted #666
background:#black
}
.jiao>ul>li { float:left}
.jiao ul li a { width:150pxheight:80pxtext-align:centerline-height:100pxdisplay:blockborder-right:5px solid #redbackground:#redcolor:#red}
.jiao ul li ul { position:absolutedisplay:none}
.jiao ul li:hover ul{ display:block}
.jiao>ul>li>ul>li { float:none}
<!--nav>ul只选择nav下一级里面的ul元素
nav ul选择nav内所包含的所有ul元素
nav>ul比nav ul限定更严格,必须后面的元素只比前面的低一个级别。
这里根据你的需求来自己定义。
-->
</style>
04添加一个DIV标签,在页面中划分出一个块来,用来显示。
div中所用的样式为刚才咱们声明的样式“jiao”这个盒子来描述
05然后使用无序标签<ul>+样式<li>来实现模块。
<div class="jiao">
<ul>
<li><a href="#">搜狗略懂</a>
<ul>
<li><a href="#">搜狗问问</a></li>
<li><a href="#">搜狗输入法</a></li>
<li><a href="#">搜狗浏览器</a></li>
<li><a href="#">搜狐</a></li>
</ul>
</div>
06放上全部的代码吧,可以参考一下啊,
<!DOCTYPE html >
<html xmlns="http://www.w3.org/1999/xhtml"> //允许你通过一个网址来识别你的标记
<head>
<meta http-equiv="Content-Type" content="text/htmlcharset=utf-8" />
<meta name="keyword" content="利用css实现下拉菜单">
<meta name="description" content="搜狗略懂、css分享">
<title>css实现下拉导航栏菜单</title>
<style type="text/css">
* {
margin:0
padding:0
}
.jiao ul li a:hover{
color:#red
}
ul, li {
list-style:none
}
a {
text-decoration:none
}
.jiao {
border:5px solid #pink
border-right:none
overflow:hidden
float:left
margin:200px 0 0 600px
}
.jiao ul li ul li a {
border-right:solid
border-top:2px dotted #666
background:#black
}
.jiao>ul>li { float:left}
.jiao ul li a { width:150pxheight:80pxtext-align:centerline-height:100pxdisplay:blockborder-right:5px solid #redbackground:#redcolor:#red}
.jiao ul li ul { position:absolutedisplay:none}
.jiao ul li:hover ul{ display:block}
.jiao>ul>li>ul>li { float:none}
<!--nav>ul只选择nav下一级里面的ul元素
nav ul选择nav内所包含的所有ul元素
nav>ul比nav ul限定更严格,必须后面的元素只比前面的低一个级别。
这里根据你的需求来自己定义。
-->
</style>
</head>
<body>
<div class="jiao">
<ul>
<li><a href="#">搜狗略懂</a>
<ul>
<li><a href="#">搜狗问问</a></li>
<li><a href="#">搜狗输入法</a></li>
<li><a href="#">搜狗浏览器</a></li>
<li><a href="#">搜狐</a></li>
</ul>
</li>
</ul>
</div>
</body>
</html>
07如果要添加更多的菜单,只需要后边继续添加<ul>/<li>即可
特别提示写代码过程中一定要记得换行,开头留空,否则过后找东西,连你自己都不知道写的是什么。何谈从哪里找起?