update at 2026-02-12 19:18:45
This commit is contained in:
219
src/styles.css
219
src/styles.css
@@ -149,23 +149,20 @@ body {
|
||||
}
|
||||
|
||||
.theme-popover {
|
||||
position: absolute;
|
||||
top: calc(100% + 8px);
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
width: 280px;
|
||||
position: fixed;
|
||||
width: 292px;
|
||||
border: 1px solid var(--primary-7);
|
||||
border-radius: 24px 24px 0 0;
|
||||
background: #fff;
|
||||
z-index: 10;
|
||||
padding: 8px;
|
||||
padding: 8px 8px 10px;
|
||||
}
|
||||
|
||||
.theme-popover::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: -8px;
|
||||
left: 50%;
|
||||
left: var(--theme-arrow-left, 50%);
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
background: #fff;
|
||||
@@ -177,13 +174,53 @@ body {
|
||||
.theme-header {
|
||||
text-align: center;
|
||||
color: var(--primary-6);
|
||||
font-size: 14px;
|
||||
margin-bottom: 8px;
|
||||
font-size: 15px;
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
|
||||
.theme-list {
|
||||
max-height: 180px;
|
||||
overflow: auto;
|
||||
.theme-wheel-wrap {
|
||||
--theme-row-height: 42px;
|
||||
position: relative;
|
||||
height: calc(var(--theme-row-height) * 5);
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.theme-wheel {
|
||||
height: 100%;
|
||||
overflow-y: auto;
|
||||
padding-block: calc(var(--theme-row-height) * 2);
|
||||
margin: 0;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: #d6d8dc #fff;
|
||||
}
|
||||
|
||||
.theme-wheel::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
.theme-wheel::-webkit-scrollbar-track {
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.theme-wheel::-webkit-scrollbar-thumb {
|
||||
background: #d6d8dc;
|
||||
border-radius: 999px;
|
||||
}
|
||||
|
||||
.theme-mask {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
pointer-events: none;
|
||||
z-index: 3;
|
||||
background: linear-gradient(
|
||||
180deg,
|
||||
#ffffff 0%,
|
||||
rgba(255, 255, 255, 0.74) 20%,
|
||||
rgba(255, 255, 255, 0) 35%,
|
||||
rgba(255, 255, 255, 0) 65%,
|
||||
rgba(255, 255, 255, 0.74) 80%,
|
||||
#ffffff 100%
|
||||
);
|
||||
}
|
||||
|
||||
.theme-row {
|
||||
@@ -193,8 +230,14 @@ body {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
padding: 6px;
|
||||
height: 42px;
|
||||
padding: 5px 6px;
|
||||
cursor: pointer;
|
||||
transition: opacity 0.2s ease;
|
||||
}
|
||||
|
||||
.theme-row.selected {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.theme-row img {
|
||||
@@ -205,8 +248,28 @@ body {
|
||||
.palette {
|
||||
flex: 1;
|
||||
display: grid;
|
||||
grid-template-columns: repeat(9, 1fr);
|
||||
height: 20px;
|
||||
border-radius: 2px;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
/* 选中分割线挂在色条本身,滚动时与选中项一起移动,长度与色条完全一致。 */
|
||||
.theme-row.selected .palette::before,
|
||||
.theme-row.selected .palette::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
border-top: 1px solid var(--fill-3);
|
||||
}
|
||||
|
||||
.theme-row.selected .palette::before {
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.theme-row.selected .palette::after {
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.palette-cell {
|
||||
@@ -245,13 +308,20 @@ body {
|
||||
|
||||
.field-block {
|
||||
margin-top: 12px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.field-title-wrap {
|
||||
width: 100%;
|
||||
border: 0;
|
||||
background: transparent;
|
||||
padding: 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
margin-bottom: 8px;
|
||||
cursor: pointer;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.field-title-wrap h3 {
|
||||
@@ -261,17 +331,54 @@ body {
|
||||
}
|
||||
|
||||
.expand-icon {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
.column-list {
|
||||
position: relative;
|
||||
--connector-x: 10px;
|
||||
--icon-left: 20px;
|
||||
--row-height: 32px;
|
||||
--connector-top-offset: -6px;
|
||||
}
|
||||
|
||||
/* 展开后显示分类到列表项的树状连线,严格限制到首尾项中线。 */
|
||||
.column-list::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: var(--connector-x);
|
||||
top: var(--connector-top-offset);
|
||||
bottom: calc(var(--row-height) / 2);
|
||||
border-left: 1px solid var(--fill-4);
|
||||
}
|
||||
|
||||
.column-row {
|
||||
position: relative;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
border-bottom: 1px solid var(--fill-4);
|
||||
height: 32px;
|
||||
padding-bottom: 6px;
|
||||
padding-left: var(--icon-left);
|
||||
}
|
||||
|
||||
.column-row::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: var(--connector-x);
|
||||
top: calc(50% - 0.5px);
|
||||
width: calc(var(--icon-left) - var(--connector-x));
|
||||
border-top: 1px solid var(--fill-4);
|
||||
}
|
||||
|
||||
.column-row::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: var(--icon-left);
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
border-top: 1px solid var(--fill-4);
|
||||
}
|
||||
|
||||
.column-icon {
|
||||
@@ -330,8 +437,82 @@ body {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.preview-controls select,
|
||||
.preview-controls input {
|
||||
.preview-controls .slider-label {
|
||||
align-items: center;
|
||||
color: #000;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.slider-track-wrap {
|
||||
position: relative;
|
||||
width: 130px;
|
||||
height: 18px;
|
||||
}
|
||||
|
||||
.slider-input {
|
||||
width: 100%;
|
||||
height: 18px;
|
||||
margin: 0;
|
||||
background: transparent;
|
||||
-webkit-appearance: none;
|
||||
appearance: none;
|
||||
}
|
||||
|
||||
.slider-input::-webkit-slider-runnable-track {
|
||||
height: 4px;
|
||||
border-radius: 999px;
|
||||
background: linear-gradient(
|
||||
to right,
|
||||
#8552a1 0,
|
||||
#8552a1 var(--slider-percent, 0%),
|
||||
#d9d9d9 var(--slider-percent, 0%),
|
||||
#d9d9d9 100%
|
||||
);
|
||||
}
|
||||
|
||||
.slider-input::-webkit-slider-thumb {
|
||||
-webkit-appearance: none;
|
||||
appearance: none;
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
border-radius: 50%;
|
||||
border: 1px solid #d9d9d9;
|
||||
background: #fff;
|
||||
margin-top: -7px;
|
||||
}
|
||||
|
||||
.slider-input::-moz-range-track {
|
||||
height: 4px;
|
||||
border-radius: 999px;
|
||||
background: #d9d9d9;
|
||||
}
|
||||
|
||||
.slider-input::-moz-range-thumb {
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
border-radius: 50%;
|
||||
border: 1px solid #d9d9d9;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.slider-input::-moz-range-progress {
|
||||
height: 4px;
|
||||
border-radius: 999px;
|
||||
background: #8552a1;
|
||||
}
|
||||
|
||||
.slider-value {
|
||||
position: absolute;
|
||||
top: -13px;
|
||||
transform: translateX(-50%);
|
||||
font-size: 10px;
|
||||
line-height: 1;
|
||||
color: var(--primary-6);
|
||||
white-space: nowrap;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.preview-controls select {
|
||||
accent-color: var(--primary-7);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user