fix:样式优化完善,修复。
This commit is contained in:
@@ -46,7 +46,7 @@
|
|||||||
@click="openTool(tool.url)"
|
@click="openTool(tool.url)"
|
||||||
>
|
>
|
||||||
<div class="tool-icon" :style="{background: tool.color}">
|
<div class="tool-icon" :style="{background: tool.color}">
|
||||||
<span class="icon-text">{{ tool.icon }}</span>
|
<span class="icon-text" :class="getIconSizeClass(tool.icon)">{{ tool.icon }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="tool-info">
|
<div class="tool-info">
|
||||||
<h4 class="tool-name">{{ tool.name }}</h4>
|
<h4 class="tool-name">{{ tool.name }}</h4>
|
||||||
@@ -109,6 +109,16 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
|
// 根据图标文字长度返回字体大小class
|
||||||
|
getIconSizeClass(icon) {
|
||||||
|
if (!icon) return 'icon-size-default'
|
||||||
|
const length = icon.length
|
||||||
|
if (length === 1) return 'icon-size-1'
|
||||||
|
if (length === 2) return 'icon-size-2'
|
||||||
|
if (length === 3) return 'icon-size-3'
|
||||||
|
return 'icon-size-4' // 4个字或更多
|
||||||
|
},
|
||||||
|
|
||||||
// 辅助方法
|
// 辅助方法
|
||||||
getCategoriesInSuper(superCategoryId) {
|
getCategoriesInSuper(superCategoryId) {
|
||||||
return this.categories.filter(c => c.superCategoryId === superCategoryId)
|
return this.categories.filter(c => c.superCategoryId === superCategoryId)
|
||||||
@@ -716,12 +726,53 @@ export default {
|
|||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
margin-right: 16px;
|
margin-right: 16px;
|
||||||
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
|
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
|
||||||
|
overflow: hidden;
|
||||||
|
padding: 4px;
|
||||||
|
|
||||||
.icon-text {
|
.icon-text {
|
||||||
font-size: 24px;
|
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: @white-color;
|
color: @white-color;
|
||||||
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
|
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
|
||||||
|
line-height: 1.3;
|
||||||
|
text-align: center;
|
||||||
|
word-wrap: break-word;
|
||||||
|
word-break: break-all;
|
||||||
|
display: -webkit-box;
|
||||||
|
-webkit-line-clamp: 2;
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
overflow: hidden;
|
||||||
|
max-width: 100%;
|
||||||
|
padding: 0 2px;
|
||||||
|
|
||||||
|
// 1个字:大字体
|
||||||
|
&.icon-size-1 {
|
||||||
|
font-size: 28px;
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 2个字:中等字体
|
||||||
|
&.icon-size-2 {
|
||||||
|
font-size: 24px;
|
||||||
|
line-height: 1.2;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 3个字:较小字体
|
||||||
|
&.icon-size-3 {
|
||||||
|
font-size: 20px;
|
||||||
|
line-height: 1.2;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 4个字或更多:小字体,2行显示
|
||||||
|
&.icon-size-4 {
|
||||||
|
font-size: 18px;
|
||||||
|
line-height: 1.3;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 默认大小
|
||||||
|
&.icon-size-default {
|
||||||
|
font-size: 22px;
|
||||||
|
line-height: 1.3;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -227,7 +227,7 @@
|
|||||||
:title="colorOption.name"
|
:title="colorOption.name"
|
||||||
>
|
>
|
||||||
<span v-if="toolForm.color === colorOption.value && !toolForm.icon" class="check-icon">✓</span>
|
<span v-if="toolForm.color === colorOption.value && !toolForm.icon" class="check-icon">✓</span>
|
||||||
<span v-if="toolForm.icon" class="icon-preview">{{ toolForm.icon }}</span>
|
<span v-if="toolForm.icon" class="icon-preview" :class="getIconSizeClass(toolForm.icon)">{{ toolForm.icon }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -381,6 +381,16 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
|
// 根据图标文字长度返回字体大小class
|
||||||
|
getIconSizeClass(icon) {
|
||||||
|
if (!icon) return 'icon-size-default'
|
||||||
|
const length = icon.length
|
||||||
|
if (length === 1) return 'icon-size-1'
|
||||||
|
if (length === 2) return 'icon-size-2'
|
||||||
|
if (length === 3) return 'icon-size-3'
|
||||||
|
return 'icon-size-4' // 4个字或更多
|
||||||
|
},
|
||||||
|
|
||||||
// 消息提示
|
// 消息提示
|
||||||
showMessage(text, type = 'success') {
|
showMessage(text, type = 'success') {
|
||||||
this.message = { show: true, text, type }
|
this.message = { show: true, text, type }
|
||||||
@@ -1509,12 +1519,18 @@ export default {
|
|||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
font-size: 16px;
|
font-size: 14px;
|
||||||
color: white;
|
color: white;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
transition: all 0.2s ease;
|
transition: all 0.2s ease;
|
||||||
|
line-height: 1; // 设置行高为1,确保垂直居中
|
||||||
|
|
||||||
|
span {
|
||||||
|
display: block;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
transform: scale(1.1);
|
transform: scale(1.1);
|
||||||
@@ -1738,13 +1754,53 @@ button {
|
|||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
|
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
|
||||||
|
line-height: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-preview {
|
.icon-preview {
|
||||||
color: white;
|
color: white;
|
||||||
font-size: 24px;
|
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
|
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
|
||||||
|
line-height: 1.3;
|
||||||
|
display: -webkit-box;
|
||||||
|
-webkit-line-clamp: 2;
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
overflow: hidden;
|
||||||
|
text-align: center;
|
||||||
|
word-wrap: break-word;
|
||||||
|
word-break: break-all;
|
||||||
|
max-width: 100%;
|
||||||
|
padding: 0 2px;
|
||||||
|
|
||||||
|
// 1个字:大字体
|
||||||
|
&.icon-size-1 {
|
||||||
|
font-size: 28px;
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 2个字:中等字体
|
||||||
|
&.icon-size-2 {
|
||||||
|
font-size: 24px;
|
||||||
|
line-height: 1.2;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 3个字:较小字体
|
||||||
|
&.icon-size-3 {
|
||||||
|
font-size: 20px;
|
||||||
|
line-height: 1.3;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 4个字或更多:最小字体,2行显示
|
||||||
|
&.icon-size-4 {
|
||||||
|
font-size: 18px;
|
||||||
|
line-height: 1.3;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 默认
|
||||||
|
&.icon-size-default {
|
||||||
|
font-size: 22px;
|
||||||
|
line-height: 1.2;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user