[CSS3] Tailwindcss组件

在前面的学习中,我们发现很多时候一些标签所应用的原子类是一样的。例如:

<div class="float-left text-center flex items-center bg-blue-100 block"></div>
<div class="float-left text-center flex items-center bg-blue-100 block"></div>
<div class="float-left text-center flex items-center bg-blue-100 block"></div>
<div class="float-left text-center flex items-center bg-blue-100 block"></div>
<div class="float-left text-center flex items-center bg-blue-100 block"></div>

像上面的情况,很多标签所应用的原子类都是一样的,那么我们就可以将其封装为一个组件。

在 tailwind 里面,要封装一个组件可以使用 @apply 指令,该指令后面就可以跟上一组原子类,然后给这个指令取一个名字即可。

.item{
  @apply float-right text-center flex items-center bg-blue-100 block
}

回头在 html 中只需要挂上 item 这个类即可

<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>

通过组件的方式,可以大大减少我们代码的冗余,提高代码的可维护性。

实战案例笔记

在使用深度选择器的时候,我们在 input 上面设置了 peer 这个类,然后在同级的 div 上面设置了 peer:checked

<input type="radio" name="swith" checked class="btn peer"/>
<div class="bg-img-2 bg peer-checked:opacity-100"></div>

上面的代码中表示,当 input 被 checked 的时候,div 会应用 opacity-100 这个样式类。

还需要在配置文件中配置一下:

variants: {
    extend: {
      opacity: ["peer-checked"]
    },
 },

还需要注意 peer-checked 后面要应用的类必须是 tailwind 里面内置的原子类。

posted @ 2025-03-06 15:03  Zhentiw  阅读(21)  评论(0)    收藏  举报