当前位置:网站首页>Tableau auto - fabriqué
Tableau auto - fabriqué
2022-06-10 21:29:00 【Zang Xiaochuan】
Tableau des effets
JS
import {
useState, } from 'react';
import styles from './style.less'
const data = [
{
name: 'Hulele', key: 1, age: 19, value: 'Vos efforts sont ridicules', operating: 'Ha ha ha ha ha' },
{
name: 'Seigneur!', key: 2, age: 129, value: 'Hé! Hé!', operating: 'Ha ha ha ha ha' },
{
name: 'Guo Shuai.', key: 3, age: 9, value: 'Gros ventre', operating: 'Ha ha ha ha ha' },
{
name: 'Guan Yu', key: 4, age: 31, value: 'Mon deuxième frère est le meilleur au monde', operating: 'Ha ha ha ha ha' },
{
name: 'Chen xiaohao', key: 5, age: 22, value: 'Les meilleurs', operating: 'Ha ha ha ha ha' }
]
const index = () =>
{
const [active, setActive] = useState(null)
const handleMouse = (flag) =>
{
return () =>
{
console.log(flag);
setActive(flag)
}
}
return (
<div className={
styles.wrapper}>
<div className={
styles.spin_nested_loading}>
<div className={
styles.container}>
<div id='cyclicScroll' className={
`${
styles.table}`} >
<div className={
styles.table_container}>
<div className={
styles.table_content}>
<table style={
{
tableLayout: 'auto' }}>
<colgroup></colgroup>
<thead className={
styles.table_thead}>
<tr>
<th className={
styles.table_cell}>Nom</th>
<th className={
styles.table_cell}>Âge</th>
<th className={
styles.table_cell}>Adresse</th>
<th className={
styles.table_cell}>Détails</th>
<th className={
styles.table_cell}>Fonctionnement</th>
</tr>
</thead>
<tbody className={
styles.table_tbody}>
{
data.map((data, index) => (
<tr key={
index} onMouseEnter={
handleMouse(data.key)}
onMouseLeave={
handleMouse(false)} className={
`${
styles.tbody_row} ${
styles.tbody_rowLevel_0}`}>
<td className={
`${
styles.table_cell} ${
data.key === active && styles.tbody_rowHover}`}><a>{
data.name}</a></td>
<td className={
`${
styles.table_cell} ${
data.key === active && styles.tbody_rowHover}`}>{
data.age}</td>
<td className={
`${
styles.table_cell} ${
data.key === active && styles.tbody_rowHover}`}>{
data.value}</td>
<td className={
`${
styles.table_cell} ${
data.key === active && styles.tbody_rowHover}`}>
<span className={
`${
styles.tag} ${
styles.tag_green}`} >Nice</span><span className={
`${
styles.tag} ${
styles.tag_volcano}`} >Nice</span>
</td>
<td className={
`${
styles.table_cell} ${
data.key === active && styles.tbody_rowHover}`}>
<div style={
{
gap: '16px' }} className={
`${
styles.space} ${
styles.horizontal} ${
styles.center}`} >
<div className={
styles.item}>
<a >Voir</a>
</div>
<div className={
styles.item}>
<a >Supprimer</a>
</div>
</div>
</td>
</tr>
))}
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
);
};
export default index
CSS
.wrapper {
clear: both;
max-width: 100%;
&::after {
display: table;
clear: both;
content: '';
}
&::before {
display: table;
content: '';
}
.spin_nested_loading {
position: relative;
}
:focus-visible {
outline: -webkit-focus-ring-color auto 1px;
}
}
.container {
position: relative;
transition: opacity 0.3s;
.table {
box-sizing: border-box;
margin: 0;
padding: 0;
color: rgba(0, 0, 0, 0.85);
font-variant: tabular-nums;
line-height: 1.5715;
list-style: none;
font-feature-settings: 'tnum', "tnum";
position: relative;
font-size: 14px;
background: #fff;
border-radius: 2px;
table {
width: 100%;
text-align: left;
border-radius: 2px 2px 0 0;
border-collapse: separate;
border-spacing: 0;
.table_thead tr th, .table_tbody tr td {
position: relative;
padding: 16px 16px;
overflow-wrap: break-word;
}
.table_thead {
tr:first-child th:first-child {
border-top-left-radius: 2px;
}
tr:last-child th:last-child {
border-top-right-radius: 2px;
}
}
tr th {
position: relative;
color: rgba(0, 0, 0, 0.85);
font-weight: 500;
text-align: left;
background: #fafafa;
border-bottom: 1px solid #f0f0f0;
transition: background 0.3s ease;
// Sélectionnez tout et drainez le dernier &:not(:last-child)::before {
position: absolute;
top: 50%;
right: 0;
width: 1px;
height: 1.6em;
background-color: rgba(0, 0, 0, 0.06);
transform: translateY(-50%);
transition: background-color 0.3s;
content: '';
}
}
.table_tbody {
tr td {
border-bottom: 1px solid #f0f0f0;
transition: background .3s;
.tag {
box-sizing: border-box;
margin: 0;
padding: 0;
color: rgba(0, 0, 0, 0.85);
font-size: 14px;
font-variant: tabular-nums;
line-height: 1.5715;
list-style: none;
font-feature-settings: 'tnum', "tnum";
display: inline-block;
height: auto;
margin-right: 8px;
padding: 0 7px;
font-size: 12px;
line-height: 20px;
white-space: nowrap;
background: #fafafa;
border: 1px solid #d9d9d9;
border-radius: 2px;
opacity: 1;
transition: all 0.3s;
}
.tag_green {
color: #389e0d;
background: #f6ffed;
border-color: #b7eb8f;
}
.tag_volcano {
color: #d4380d;
background: #fff2e8;
border-color: #ffbb96;
}
.space {
display: inline-flex;
}
.center {
align-items: center;
}
}
.tbody_rowHover {
background: #fafafa;
}
}
}
}
&::after {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 10;
display: none \9;
width: 100%;
height: 100%;
background: #fff;
opacity: 0;
transition: all 0.3s;
content: '321';
pointer-events: none;
}
.table_container {
border-top-left-radius: 2px;
border-top-right-radius: 2px;
&::after, &::before {
position: absolute;
top: 0;
bottom: 0;
z-index: 1;
width: 30px;
transition: box-shadow 0.3s;
content: '';
pointer-events: none;
}
}
}
边栏推荐
- Attack and defense drill | network security "whistleblower": security monitoring
- Leetcode advanced road - 169 Most elements
- Identity and access management (IAM)
- 微积分复习1
- Unity analyzes the rendering of built-in terrain and does some interesting things
- Obtained network time + time zone (+8)
- 你的公司会选择开发数据中台吗?
- H265 Nalu类型判断及 sps 数据解析
- Vissim仿真快速入门
- Serial Print() and serial The difference of write() function, and the problem of hexadecimal and string sending and receiving format in serial port communication and detailed explanation of the conver
猜你喜欢

Introduction to database system -- Chapter 1 -- Introduction (important knowledge points)

app测试用例

Standard dual airbags, starting from 48900 for butcher Chang'an Lumin

Will your company choose to develop data center?

LeetCode:497. Random points in non overlapping rectangles -- medium

Meetup预告:Linkis新版本介绍以及DSS的应用实践

微积分复习1

保姆级教程:如何成为Apache Linkis文档贡献者

Theoretical basis of distributed services

Explain in detail the arithmetic operators related to matrix operation in MATLAB (addition, subtraction, multiplication, division, point multiplication, point division, power)
随机推荐
保姆级教程:如何成为Apache Linkis文档贡献者
设计多层PCB板需要注意哪些事项?
Test APK exception control netlocation attacker development
Redis缓存击穿
Calculus review 1
【无标题】破目
异步、线程池(CompletableFuture)
分布式服务理论基础
Self attention and multi head attention
ros虚拟时间
Error code 1129, state HY000, host 'xxx' is blocked because of many connection errors
72. editing distance ●●
牛客网:数组中出现次数超过一半的数字
【北大青鸟昌平校区】职教与普教协调发展,今年的中考会容易吗?
旋转菜单3.0
Redis set password command (temporary password)
获取的网络时间 + 时区(+8)
LeetCode 进阶之路 - 搜索插入位置
Leetcode advanced road - 69 Square root of X
Brute force method / task assignment