feat(界面设计): 统一删除按钮样式
build.yaml / build (push) Successful in 51s

This commit is contained in:
xiaoqidun committed 2026-10-30 22:34:38 +08:00
1 parent 8936d98590
commit e7a44bfa1a
2 files changed
+31 -19

No files matched your search

+24 -7
View File
@@ -868,6 +868,28 @@ button:not(:disabled):hover {
font-size: 14px; font-size: 14px;
} }
.remove-button {
border: 0;
background: transparent;
color: var(--text-muted);
}
.remove-button:not(:disabled):hover {
background: var(--danger-soft);
color: var(--danger);
}
.remove-button:focus-visible {
outline-offset: -2px;
}
.remove-button::before {
content: "";
width: 14px;
height: 14px;
background: currentColor;
}
.arrow-prev::before, .arrow-prev::before,
.arrow-next::before { .arrow-next::before {
width: 5px; width: 5px;
@@ -902,7 +924,8 @@ button:not(:disabled):hover {
mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7V3h6l3 4h9v14H3Z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7V3h6l3 4h9v14H3Z'/%3E%3C/svg%3E") center / contain no-repeat;
} }
.close-icon { .close-icon,
.remove-button::before {
mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 3 18 18M21 3 3 21'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 3 18 18M21 3 3 21'/%3E%3C/svg%3E") center / contain no-repeat;
} }
@@ -4438,14 +4461,8 @@ audio.page-media {
} }
.font-delete { .font-delete {
display: inline-grid;
place-items: center;
width: 26px; width: 26px;
height: 26px; height: 26px;
padding: 0;
color: var(--danger);
font-size: 18px;
line-height: 1;
} }
.font-empty { .font-empty {
+7 -12
View File
@@ -1090,8 +1090,7 @@ function addInfoRow(container, values, sourceIndex) {
} }
const remove = document.createElement("button"); const remove = document.createElement("button");
remove.type = "button"; remove.type = "button";
remove.className = "icon-button"; remove.className = "icon-button remove-button";
remove.textContent = "×";
remove.title = values.length === 1 ? "删除词条" : "删除属性"; remove.title = values.length === 1 ? "删除词条" : "删除属性";
remove.addEventListener("click", () => row.remove()); remove.addEventListener("click", () => row.remove());
row.append(remove); row.append(remove);
@@ -2434,8 +2433,7 @@ function addGradientStop(position, color, transparency, source) {
} }
const remove = document.createElement("button"); const remove = document.createElement("button");
remove.type = "button"; remove.type = "button";
remove.className = "icon-button"; remove.className = "icon-button remove-button";
remove.textContent = "×";
remove.title = "删除色标"; remove.title = "删除色标";
remove.addEventListener("click", () => row.remove()); remove.addEventListener("click", () => row.remove());
row.append(remove); row.append(remove);
@@ -6637,10 +6635,9 @@ function renderFontList() {
toggle.append(enabled, enabledText); toggle.append(enabled, enabledText);
const remove = document.createElement("button"); const remove = document.createElement("button");
remove.className = "font-delete"; remove.className = "icon-button remove-button font-delete";
remove.type = "button"; remove.type = "button";
remove.title = "删除字体"; remove.title = "删除字体";
remove.textContent = "×";
remove.addEventListener("click", async () => { remove.addEventListener("click", async () => {
await changeFont(font); await changeFont(font);
}); });
@@ -9973,8 +9970,7 @@ function renderBatchList() {
const action = row.insertCell(); const action = row.insertCell();
const remove = document.createElement("button"); const remove = document.createElement("button");
remove.type = "button"; remove.type = "button";
remove.className = "icon-button"; remove.className = "icon-button remove-button";
remove.textContent = "×";
remove.title = "移除"; remove.title = "移除";
remove.disabled = batch.running; remove.disabled = batch.running;
remove.addEventListener("click", () => { batch.items.splice(batch.items.indexOf(item), 1); renderBatchList(); }); remove.addEventListener("click", () => { batch.items.splice(batch.items.indexOf(item), 1); renderBatchList(); });
@@ -12033,8 +12029,7 @@ function addStructureAttribute(attribute = {}) {
} }
const remove = document.createElement("button"); const remove = document.createElement("button");
remove.type = "button"; remove.type = "button";
remove.className = "icon-button"; remove.className = "icon-button remove-button";
remove.textContent = "×";
remove.title = "删除属性"; remove.title = "删除属性";
remove.addEventListener("click", () => row.remove()); remove.addEventListener("click", () => row.remove());
row.append(remove); row.append(remove);
@@ -12052,9 +12047,9 @@ function addStructureReference(reference = {}) {
for (const [index, item] of state.doc.pages.entries()) page.add(new Option(`第${index + 1}页`, item.id)); for (const [index, item] of state.doc.pages.entries()) page.add(new Option(`第${index + 1}页`, item.id));
if (reference.pageId) page.value = reference.pageId; if (reference.pageId) page.value = reference.pageId;
const remove = document.createElement("button"), add = document.createElement("button"); const remove = document.createElement("button"), add = document.createElement("button");
for (const [button, label, text] of [[remove, "删除引用", "×"], [add, "添加图元", "+"]]) { for (const [button, label, text] of [[remove, "删除引用", ""], [add, "添加图元", "+"]]) {
button.type = "button"; button.type = "button";
button.className = "icon-button"; button.className = button === remove ? "icon-button remove-button" : "icon-button";
button.textContent = text; button.textContent = text;
button.title = label; button.title = label;
} }