Tailwindcss Hover, Focus, Other States (悬停、聚焦和其他状态) Limitations

Tailwindcss Hover, Focus, & Other States (悬停、聚焦和其他状态) Limitations

背景

项目代码有需求是仅在hover状态下显示滚动条,在集成css之前的做法是定义一个css类,编写类的样式如下

.container {height: 300px;overflow-y: hidden;
}.container:hover {overflow-y: auto;
}

问题

在集成tailwindcss时,由于未仔细查看文档,直接写成

<div class="overflow-hidden hover:overflow-auto"</div>

导致聚焦状态下,滚动条不显示的问题。

原因分析

Tailwindcss由于文件大小方面的考虑,并非所有实用程序都默认启用所有状态变体。有关默认启用的变体的完整列表,请参阅以下参考表。

// Default configuration
module.exports = {// ...variants: {accessibility: ['responsive', 'focus-within', 'focus'],alignContent: ['responsive'],alignItems: ['responsive'],alignSelf: ['responsive'],animation: ['responsive'],appearance: ['responsive'],backdropBlur: ['responsive'],backdropBrightness: ['responsive'],backdropContrast: ['responsive'],backdropFilter: ['responsive'],backdropGrayscale: ['responsive'],backdropHueRotate: ['responsive'],backdropInvert: ['responsive'],backdropOpacity: ['responsive'],backdropSaturate: ['responsive'],backdropSepia: ['responsive'],backgroundAttachment: ['responsive'],backgroundBlendMode: ['responsive'],backgroundClip: ['responsive'],backgroundColor: ['responsive', 'dark', 'group-hover', 'focus-within', 'hover', 'focus'],backgroundImage: ['responsive'],backgroundOpacity: ['responsive', 'dark', 'group-hover', 'focus-within', 'hover', 'focus'],backgroundPosition: ['responsive'],backgroundRepeat: ['responsive'],backgroundSize: ['responsive'],backgroundOrigin: ['responsive'],blur: ['responsive'],borderCollapse: ['responsive'],borderColor: ['responsive', 'dark', 'group-hover', 'focus-within', 'hover', 'focus'],borderOpacity: ['responsive', 'dark', 'group-hover', 'focus-within', 'hover', 'focus'],borderRadius: ['responsive'],borderStyle: ['responsive'],borderWidth: ['responsive'],boxDecorationBreak: ['responsive'],boxShadow: ['responsive', 'group-hover', 'focus-within', 'hover', 'focus'],boxSizing: ['responsive'],brightness: ['responsive'],clear: ['responsive'],container: ['responsive'],contrast: ['responsive'],cursor: ['responsive'],display: ['responsive'],divideColor: ['responsive', 'dark'],divideOpacity: ['responsive', 'dark'],divideStyle: ['responsive'],divideWidth: ['responsive'],dropShadow: ['responsive'],fill: ['responsive'],filter: ['responsive'],flex: ['responsive'],flexDirection: ['responsive'],flexGrow: ['responsive'],flexShrink: ['responsive'],flexWrap: ['responsive'],float: ['responsive'],fontFamily: ['responsive'],fontSize: ['responsive'],fontSmoothing: ['responsive'],fontStyle: ['responsive'],fontVariantNumeric: ['responsive'],fontWeight: ['responsive'],gap: ['responsive'],gradientColorStops: ['responsive', 'dark', 'hover', 'focus'],grayscale: ['responsive'],gridAutoColumns: ['responsive'],gridAutoFlow: ['responsive'],gridAutoRows: ['responsive'],gridColumn: ['responsive'],gridColumnEnd: ['responsive'],gridColumnStart: ['responsive'],gridRow: ['responsive'],gridRowEnd: ['responsive'],gridRowStart: ['responsive'],gridTemplateColumns: ['responsive'],gridTemplateRows: ['responsive'],height: ['responsive'],hueRotate: ['responsive'],inset: ['responsive'],invert: ['responsive'],isolation: ['responsive'],justifyContent: ['responsive'],justifyItems: ['responsive'],justifySelf: ['responsive'],letterSpacing: ['responsive'],lineHeight: ['responsive'],listStylePosition: ['responsive'],listStyleType: ['responsive'],margin: ['responsive'],maxHeight: ['responsive'],maxWidth: ['responsive'],minHeight: ['responsive'],minWidth: ['responsive'],mixBlendMode: ['responsive'],objectFit: ['responsive'],objectPosition: ['responsive'],opacity: ['responsive', 'group-hover', 'focus-within', 'hover', 'focus'],order: ['responsive'],outline: ['responsive', 'focus-within', 'focus'],overflow: ['responsive'],overscrollBehavior: ['responsive'],padding: ['responsive'],placeContent: ['responsive'],placeItems: ['responsive'],placeSelf: ['responsive'],placeholderColor: ['responsive', 'dark', 'focus'],placeholderOpacity: ['responsive', 'dark', 'focus'],pointerEvents: ['responsive'],position: ['responsive'],resize: ['responsive'],ringColor: ['responsive', 'dark', 'focus-within', 'focus'],ringOffsetColor: ['responsive', 'dark', 'focus-within', 'focus'],ringOffsetWidth: ['responsive', 'focus-within', 'focus'],ringOpacity: ['responsive', 'dark', 'focus-within', 'focus'],ringWidth: ['responsive', 'focus-within', 'focus'],rotate: ['responsive', 'hover', 'focus'],saturate: ['responsive'],scale: ['responsive', 'hover', 'focus'],sepia: ['responsive'],skew: ['responsive', 'hover', 'focus'],space: ['responsive'],stroke: ['responsive'],strokeWidth: ['responsive'],tableLayout: ['responsive'],textAlign: ['responsive'],textColor: ['responsive', 'dark', 'group-hover', 'focus-within', 'hover', 'focus'],textDecoration: ['responsive', 'group-hover', 'focus-within', 'hover', 'focus'],textOpacity: ['responsive', 'dark', 'group-hover', 'focus-within', 'hover', 'focus'],textOverflow: ['responsive'],textTransform: ['responsive'],transform: ['responsive'],transformOrigin: ['responsive'],transitionDelay: ['responsive'],transitionDuration: ['responsive'],transitionProperty: ['responsive'],transitionTimingFunction: ['responsive'],translate: ['responsive', 'hover', 'focus'],userSelect: ['responsive'],verticalAlign: ['responsive'],visibility: ['responsive'],whitespace: ['responsive'],width: ['responsive'],wordBreak: ['responsive'],zIndex: ['responsive', 'focus-within', 'focus']}
}

配置变体

要配置为您的项目启用哪些变体,请参阅配置变体文档
可以在tailwind.config.js文件的variants 部分,控制应为每个核心插件启用哪些变体

// tailwind.config.js
module.exports = {variants: {extend: {backgroundColor: ['active'],// ...borderColor: ['focus-visible', 'first'],// ...textColor: ['visited'],}},
}

每个属性都是一个核心插件名称,指向为该插件生成的变体数组。

支持以下现成的变体:

变体描述
responsive响应式变体,如smmdlgxl
dark针对暗黑模式。
motion-safe针对prefers-reduced-motion: no-preference媒体查询。
motion-reduce针对prefers-reduced-motion: reduce媒体查询。
first针对first-child伪类。
last针对last-child伪类。
odd针对odd-child伪类。
even针对even-child伪类。
visited针对visited伪类。
checked针对checked伪类。
group-hoverhover当标记的父元素与伪类匹配时,定位该元素。
group-focusfocus当标记的父元素与伪类匹配时,定位该元素。
focus-within针对focus-within伪类。
hover针对hover伪类。
focus针对focus伪类。
focus-visible针对focus-visible伪类。
active针对active伪类。
disabled针对disabled伪类。

来源

悬停、焦点和其他状态变体

配置变体文档

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/855396.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

技术专家篇:深入理解Spring Boot配置类中List<Bean>参数的应用

例如 Configuration ConditionalOnClass(LoginUser.class) public class DataPermissionAutoConfiguration {BeanConditionalOnBean(value { PermissionApi.class, DeptDataPermissionRuleCustomizer.class })public DeptDataPermissionRule deptDataPermissionRule(Permissi…

API-操作元素内容

学习目标&#xff1a; 掌握操作元素内容 学习内容&#xff1a; 操作元素内容元素innerText属性元素innerHTML属性案例 操作元素内容&#xff1a; DOM对象都是根据标签生成的&#xff0c;所以操作标签&#xff0c;本质上就是操作DOM对象。就是操作对象使用的点语法。如果想要修…

Table 宽度超出页面宽度时,出现滚动条,单元格内容不换行实

修改前 方法 <div styleoverflow:auto><table stylewhite-space: nowrap></table> </div>修改后

@pytest.fixture与@pytest.mark.parametrize结合实现参数化

背景&#xff1a;测试数据既要在fixture方法中使用&#xff0c;同时也在测试用例中使用 使用方法&#xff1a;在使用parametrize的时候添加"indirectTrue"参数。pytest可以实现将参数传到fixture方法中&#xff0c;也可以在当前测试用例中使用。 原理&#xff1a;参…

推荐一个github项目

声明 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01; 本文章未经许可禁止转载&#xff0…

Harbor本地仓库搭建003_Harbor常见错误解决_以及各功能使用介绍_镜像推送和拉取---分布式云原生部署架构搭建003

首先我们去登录一下harbor,但是可以看到,用户名密码没有错,但是登录不上去 是因为,我们用了负债均衡,nginx会把,负载均衡进行,随机分配,访问的 是harbora,还是harborb机器. loadbalancer中 解决方案,去loadbalance那个机器中,然后 这里就是25机器,我们登录25机器 然后去配置…

【Ubuntu开发入门之“orangepi H3 linux开发②u-boot移植“】

Ubuntu开发入门之"orangepi H3 linux开发@u-boot移植" 问题描述解决方法获取u-boot源码编译配置u-boot制作并烧录TF 卡结束语郑重声明:本人原创博文,都是实战,均经过实际项目验证出货的 转载请标明出处:攻城狮2015 Platform: Allwinner H3 OS:Linux ubuntu开发之“…

8.12 矢量图层面要素单一符号使用二(仅渲染中心点)

文章目录 前言仅渲染中心点&#xff08;Centroid fill&#xff09;QGis设置面符号为仅渲染中心点&#xff08;Centroid fill&#xff09;二次开发代码实现仅渲染中心点&#xff08;Centroid fill&#xff09; 总结 前言 本章介绍矢量图层线要素单一符号中仅渲染中心点&#xf…

DSP——从入门到放弃系列2——PLL锁相环(持续更新)

1、概述 锁相环&#xff08;Phase Locked Loop,PLL&#xff09;是处理器的时钟源&#xff0c;控制着C6678处理器中C66x内核、各外围设备的时钟的时钟比、对准和选通功能。 2、功能描述 上图显示了PLL和PLL控制器的逻辑实现。PLL控制器提供通过软件可配置的分频器&#xff0…

MT8766安卓4G核心板_MTK联发科PCBA方案开发

MT8766是联发科四核4G模块方案&#xff0c;安卓一体板。 采用台积电 12 nm FinFET 制程工艺&#xff0c;4*A53架构&#xff0c;Android 9.0操作系统&#xff0c;搭载2.0GHz 的 Arm NEON 引擎。提供了支持最新 OpenOS 及其要求苛刻的应用程序所需的处理能力&#xff0c;专为具有…

离散数学学习总结

今天看了离散数学的第一章&#xff0c;也是简单来总结一下离散数学第一章的知识点 1.1命题符号化及联结词 命题&#xff1a;能够判断真假的陈述句&#xff0c;以及具有唯一的真值 命题三要素&#xff1a;1.能够判断真假 2.陈述句 3.具有唯一真值 联结词&#xff1a; 1.否定…

自然语言处理(NLP)—— 神经网络自然语言处理(Neural NLP)基础知识

1. 文章概览 本文是关于神经网络自然语言处理&#xff08;Neural NLP&#xff09;的概览&#xff0c;涵盖了基础原则、历史概览、处理流程、神经网络架构以及最近的训练范式。 1.1 基本原则 这部分会讲述自然语言处理&#xff08;NLP&#xff09;与神经网络在处理语言任务时遵…

Swift 字面量

Swift 字面量 Swift 是一种强类型语言,它在编译时就需要知道所有变量的类型。字面量是在代码中直接表示值的符号,它们为编程提供了方便,使得开发者可以直接在代码中书写一些固定值。Swift 中的字面量包括整数、浮点数、布尔值、字符串、字符、数组和字典等。 整数字面量 …

关于UnityWebgl缓存机制

最近在做UnityWebgl热更的时候&#xff0c;我的热更程序集更新&#xff0c;而我所有运行过项目的设备都没有更新成功。而没运行过的设备则运行的是最新的程序集。那么说明必然是和缓存有关系了。 特意查了一下问题&#xff0c;发现Edge浏览器会把一些比较小的图片、脚本等资源进…

Android framework配置默认屏幕亮度值源码分析

1、概述 在Android中&#xff0c;config.xml文件用于配置各种系统设置和资源。对于屏幕亮度的配置&#xff0c;config.xml并不是直接用于设置屏幕亮度的地方&#xff0c;但它可以包含默认的系统设置和一些相关的参数。以下是如何在config.xml中配置一些与屏幕亮度相关的设置的…

yolov9-pytorch 深度学习目标检测算法模型

YOLOv9 论文 https://arxiv.org/abs/2402.13616 模型结构 YOLOv9将可编程梯度信息 (PGI) 概念与通用 ELAN (GELAN)架构相结合而开发&#xff0c;代表了准确性、速度和效率方面的重大飞跃。 算法原理 Yolov9将可编程梯度信息&#xff08;PGI&#xff09;和GLEAN&#xff08…

厨房做嵌入式蒸烤箱避坑指南

装修嵌入式蒸烤箱需要注意啥?      一是提前留好开关插座,一个是确定好尺寸,省得来回折腾      首先选个容量大的,建议选50升的比较稳妥      家有2到6人都够用,以前花几千买的只有蒸和烤功能      很不划算,要想要经常用,就选个带微波功能的微蒸烤炸一体机  …

Swagger3.0接口生成并导入YApi

一、引入依赖 <!--Swagger-UI API文档生产工具--><dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId><version>3.0.0</version></dependency><!--解决Swagger访问主页时的…

PHP实现企业微信素材上传与获取的完整指南与踩坑日记

企业微信作为一款专门为企业打造的即时通讯工具&#xff0c;提供了丰富的功能和接口&#xff0c;其中包括素材管理。素材管理在企业内部的沟通、分享和展示中起着重要的作用。本篇文章将介绍如何使用PHP语言对接企业微信素材上传和获取的功能。 ## 1. 准备工作 首先&#xff0…

课设--学生成绩管理系统(三)

欢迎来到 Papicatch的博客 文章目录 &#x1f349;报告目的 &#x1f349;总体设计 &#x1f348; 模块处理逻辑 &#x1f349;数据库设计 &#x1f348;总览表 &#x1f348;表设计 &#x1f34d;管理员信息表 &#x1f34d;课程基本信息表 &#x1f34d;课程扩展信息…