143 lines
2.3 KiB
CSS
143 lines
2.3 KiB
CSS
:root {
|
||
--tf-gap: 8px;
|
||
--tf-border: #d0d7de;
|
||
--tf-radius: 6px;
|
||
--tf-label-color: #57606a;
|
||
--tf-bg: #ffffff;
|
||
--tf-unknown-bg: #f6f8fa;
|
||
--tf-unknown-color: #8c959f;
|
||
}
|
||
|
||
.tf-form {
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: var(--tf-gap);
|
||
}
|
||
|
||
.tf-row {
|
||
display: grid;
|
||
grid-template-columns: repeat(12, 1fr);
|
||
gap: var(--tf-gap);
|
||
}
|
||
|
||
.tf-field {
|
||
display: grid;
|
||
grid-template-columns: subgrid;
|
||
grid-column: span var(--tf-span, 12);
|
||
align-items: center;
|
||
gap: var(--tf-gap);
|
||
}
|
||
|
||
.tf-field-inner {
|
||
display: grid;
|
||
grid-template-columns: var(--tf-name-cols, 3fr) var(--tf-query-cols, 2fr) var(--tf-value-cols, 7fr);
|
||
gap: var(--tf-gap);
|
||
align-items: center;
|
||
}
|
||
|
||
.tf-label {
|
||
color: var(--tf-label-color);
|
||
font-size: 14px;
|
||
}
|
||
|
||
.tf-control {
|
||
width: 100%;
|
||
box-sizing: border-box;
|
||
border: 1px solid var(--tf-border);
|
||
border-radius: var(--tf-radius);
|
||
padding: 6px 8px;
|
||
background: var(--tf-bg);
|
||
}
|
||
|
||
.tf-control:disabled,
|
||
.tf-control[readonly] {
|
||
opacity: 0.65;
|
||
}
|
||
|
||
.tf-unknown {
|
||
border: 1px dashed var(--tf-border);
|
||
background: var(--tf-unknown-bg);
|
||
color: var(--tf-unknown-color);
|
||
border-radius: var(--tf-radius);
|
||
padding: 8px;
|
||
font-size: 13px;
|
||
}
|
||
|
||
/* ---- tags(IN/NOT_IN 多值标签) ---- */
|
||
.tf-tags {
|
||
display: flex;
|
||
flex-wrap: wrap;
|
||
align-items: center;
|
||
gap: 4px;
|
||
min-height: 32px;
|
||
cursor: text;
|
||
}
|
||
|
||
.tf-tags.is-disabled {
|
||
opacity: 0.65;
|
||
}
|
||
|
||
.tf-tag {
|
||
display: inline-flex;
|
||
align-items: center;
|
||
gap: 4px;
|
||
background: #eef1f6;
|
||
border: 1px solid var(--tf-border);
|
||
border-radius: 4px;
|
||
padding: 2px 6px;
|
||
font-size: 13px;
|
||
line-height: 1.4;
|
||
}
|
||
|
||
.tf-tag-x {
|
||
border: none;
|
||
background: transparent;
|
||
color: var(--tf-label-color);
|
||
cursor: pointer;
|
||
font-size: 13px;
|
||
line-height: 1;
|
||
padding: 0 2px;
|
||
}
|
||
|
||
.tf-tag-x:hover {
|
||
color: #cf222e;
|
||
}
|
||
|
||
.tf-tag-input {
|
||
border: none;
|
||
outline: none;
|
||
background: transparent;
|
||
flex: 1;
|
||
min-width: 80px;
|
||
font-size: 13px;
|
||
padding: 2px;
|
||
}
|
||
|
||
/* ---- between(区间双输入) ---- */
|
||
.tf-between {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: var(--tf-gap);
|
||
}
|
||
|
||
.tf-between-input {
|
||
flex: 1;
|
||
}
|
||
|
||
.tf-actions {
|
||
display: flex;
|
||
gap: var(--tf-gap);
|
||
}
|
||
|
||
.tf-btn {
|
||
border: 1px solid var(--tf-border);
|
||
background: var(--tf-bg);
|
||
border-radius: var(--tf-radius);
|
||
padding: 6px 12px;
|
||
cursor: pointer;
|
||
}
|
||
|
||
.tf-btn:hover {
|
||
background: #f6f8fa;
|
||
}
|