Files
esengine/packages/editor-app/src/styles/TabPanel.css
2025-10-15 17:15:05 +08:00

102 lines
1.9 KiB
CSS

.tab-panel {
display: flex;
flex-direction: column;
height: 100%;
background: var(--color-bg-base);
}
.tab-header {
background: var(--color-bg-elevated);
border-bottom: 1px solid var(--color-border-default);
min-height: 38px;
display: flex;
align-items: flex-end;
flex-shrink: 0;
}
.tab-list {
display: flex;
gap: 0;
height: 100%;
}
.tab-item {
display: flex;
align-items: center;
gap: var(--spacing-sm);
padding: var(--spacing-sm) var(--spacing-md);
background: transparent;
color: var(--color-text-secondary);
border-right: 1px solid var(--color-border-default);
cursor: pointer;
transition: all var(--transition-fast);
font-size: var(--font-size-sm);
font-weight: var(--font-weight-medium);
user-select: none;
position: relative;
}
.tab-item::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 2px;
background-color: transparent;
transition: background-color var(--transition-fast);
}
.tab-item:hover {
background: var(--color-bg-hover);
color: var(--color-text-primary);
}
.tab-item.active {
background: var(--color-bg-base);
color: var(--color-text-primary);
}
.tab-item.active::after {
background-color: var(--color-primary);
}
.tab-title {
white-space: nowrap;
}
.tab-close {
display: inline-flex;
align-items: center;
justify-content: center;
width: 16px;
height: 16px;
background: transparent;
border: none;
color: var(--color-text-tertiary);
cursor: pointer;
border-radius: var(--radius-sm);
font-size: 18px;
line-height: 1;
padding: 0;
transition: all var(--transition-fast);
opacity: 0;
}
.tab-item:hover .tab-close,
.tab-item.active .tab-close {
opacity: 1;
}
.tab-close:hover {
background: var(--color-bg-hover);
color: var(--color-error);
transform: scale(1.2);
}
.tab-content {
flex: 1;
overflow: hidden;
position: relative;
}