列表的高亮显示

本文介绍了如何使用CSS和JavaScript实现列表的高亮显示。通过HTML的ul和li标签创建列表,然后利用CSS设置基本样式和鼠标悬停效果。接着,用JavaScript添加鼠标进入和离开事件来改变列表项的颜色。此外,还提到了使用CSS伪类实现相同功能的方法,适合初学者学习。

按照图片步骤来做

1、先做出列表的大体样式,可以做表格样的也可以做出如下的样式。

2、按照我这个做先用ul标签和li去输入变成一行一行的字。

3、在设置内联样式,设置ul标签的样式。

4、ul标签设置的是字体样式取消和鼠标移入的光标形状设置。

5、接下来设置js的样式,样式分4步,第一步获取所有li标签,第二步设置鼠标进入事件,第三步鼠标离开事件设置恢复到默认的颜色。

6、设置鼠标进入。

7、在为li设置鼠标移入颜色。

 

8、为li设置恢复到这个标签默认的颜色。

9、上面的方法是js的方式,还有是用css设置伪类。

10、用css设置类和hover。

这是我所学到的列表的高亮显示,分享给你们,希望可以帮,助到你们。

以上就是我的分享,新手上道,请多多指教。如果有更好的方法或不懂得地方欢迎在评论区教导和提问喔!

### 在 Qt6 QML 中使用 Behavior 和 NumberAnimation 实现 ListView 滑动高亮效果 在 Qt6 的 QML 中,可以通过结合 `Behavior` 和 `NumberAnimation` 来实现 `ListView` 滑动时的高亮显示效果。以下是详细的实现方法和代码示例。 ```qml import QtQuick 2.15 import QtQuick.Controls 2.15 ApplicationWindow { visible: true width: 400 height: 300 title: "ListView Highlight Animation Example" ListView { id: listView anchors.fill: parent model: 20 clip: true delegate: Rectangle { id: delegateRect width: parent.width height: 50 color: index === listView.currentIndex ? "lightblue" : "white" border.color: "gray" radius: 5 Text { text: "Item " + (index + 1) anchors.centerIn: parent } // 使用 Behavior 和 NumberAnimation 实现高亮动画 Behavior on opacity { NumberAnimation { duration: 250 easing.type: Easing.InOutQuad } } Behavior on scale { NumberAnimation { duration: 250 easing.type: Easing.InOutQuad } } states: State { name: "highlighted" when: index === listView.currentIndex PropertyChanges { target: delegateRect opacity: 0.8 scale: 1.1 } } } highlight: Rectangle { color: "transparent" border.color: "lightblue" border.width: 2 radius: 5 } focus: true currentIndex: -1 MouseArea { anchors.fill: parent onClicked: { var newIndex = Math.floor((mouseY - listView.contentY) / listView.delegate.height) if (newIndex >= 0 && newIndex < listView.count) { listView.currentIndex = newIndex } } } } } ``` #### 关键点解析 - **`Behavior`**:通过为 `opacity` 和 `scale` 属性添加 `Behavior`,可以定义当这些属性发生变化时的动画效果[^1]。 - **`NumberAnimation`**:用于指定动画的持续时间和缓动函数(例如 `Easing.InOutQuad`),以实现平滑的过渡效果[^2]。 - **`states`**:定义了当某个条件满足时(如当前索引与项目索引匹配),应用的状态变化。这里通过调整 `opacity` 和 `scale` 来增强高亮效果[^3]。 - **`highlight`**:设置了滚动条的高亮区域样式,尽管在此示例中颜色设置为透明,但边框仍然可见[^4]。 #### 动态交互逻辑 - 当用户点击 `ListView` 时,通过计算鼠标位置确定当前索引,并将其赋值给 `currentIndex`,从而触发高亮动画[^5]。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值