前面了解基础的使用後,来实战一个简单的留言按钮与如何变成响应式的呈现。
.container
订调介面为满版。.w-full
语法,透过提示工具可以看到 .w-full = width:100%
,为了要让大头照跟留言按钮横向呈现,在给予一个 .flex
语法。.border-white .border-2
两个语法。.flex-1
,其作用是让按钮自适应缩放,不受初始大小影响。hover:bg-gray-300
就可以罗! <div class="container mx-auto mt-3">
<h1 class="block text-gray-800 text-xl py-5 font-bold">写一个留言按钮</h1>
<div class="w-full px-4 py-3 flex box-border rounded-lg bg-gray-400">
<div
class="w-12 mr-3 flex-shrink-0 rounded-full border-white border-2 overflow-hidden"
>
<img src="https://picsum.photos/200/200?random=1" alt="" />
</div>
<button class="flex-1 bg-gray-200 rounded-full hover:bg-gray-300">
<p class="text-left pl-3 text-gray-600 text-md">在想些什麽...</p>
</button>
</div>
</div>
这样就切完了,满单纯也简单,而且可以快速的达到想要的效果。
虽然 TailwindCSS 已经有预设一些样式的状态,但并不是每个都有支援,假设现在 PM 说:客户想要在按钮外面加上外框,并且要在点击时出现。
这时候我就要去找 variants
预设中这个 ringWidth
的 Utility,然後发现初始设定并没有 active 这个属性。
ringWidth: ['responsive', 'focus-within', 'focus'],
这时候就可以自行扩增其属性,可以到 tailwind.config.js 中的 extends,加上这个属性,
module.exports = {
purge: ['./**/*.html'],
darkMode: false, // or 'media' or 'class'
theme: {
extend: {},
},
variants: {
extend: {
ringWidth: ['active'], //加在这里
},
},
plugins: [],
}
加好之後记得要重新编译 TailwindCSS。
此时,就会看到我只有打 ac,就会出现对应的选项。
再来就只要加上 active 後,ring 的宽度即可。
<button class="flex-1 bg-gray-200 rounded-full hover:bg-gray-300 active:ring-4">
<p class="text-left pl-3 text-gray-600 text-md">在想些什麽...</p>
</button>
然後加好之後,在滑鼠点击时,就会出现外框了。
前面有提到 TailwindCSS 任何的 Utility 都可以加上响应式。假设我在不同断点要呈现外框都是不同颜色,可以这样写
<div class="container mx-auto mt-3">
<h1 class="block text-gray-800 text-xl py-5 font-bold">写一个留言按钮</h1>
<div
class="w-full px-4 py-3 flex box-border rounded-lg bg-gray-400 sm:bg-red-400 md:bg-yellow-400 lg:bg-green-400 xl:bg-blue-400"
>
...
</div>
</div>
然後就会看到当解析度不同的时候会呈现不同的颜色。
写到这边完全没有写到任何一行 CSS,但却可以实现样式与响应式功能,真是非常棒呢!
<<: 用React刻自己的投资Dashboard Day15 - 投资Dashboard 2.0版 Wireframe
>>: [Day 16] Reactive Programming -Reactor(ConnectableFlux)
Final Calculator Design <!DOCTYPE html> <...
前言 首先,先来简单自我介绍下,学习期间我是有份与软件工程师完全无关的全职工作,但利用工作以外的其他...
今天我们将开始进行 RDS Lab 练习,架构自己的第一台云端资料库。由於此章节非常大,我将会分成...
列表的确是在有限萤幕空间中,呈现大量资料的一个手法。但从前一篇可以知道,你这个列表会有数千笔资料的时...
前言 有了这些功能後,想要知道能不能跑所有的股票,然後做这些事情,无论是行情订阅,还是历史资料。因此...