427 lines
5.9 KiB
Plaintext
427 lines
5.9 KiB
Plaintext
/* 顶部导航栏 */
|
||
.header-row {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 16rpx;
|
||
height: 96rpx;
|
||
padding: 0 16rpx;
|
||
background: #fff;
|
||
}
|
||
|
||
.logo-container {
|
||
width: 96rpx;
|
||
height: 96rpx;
|
||
border-radius: 24rpx;
|
||
overflow: hidden;
|
||
flex-shrink: 0;
|
||
}
|
||
|
||
.logo {
|
||
width: 100%;
|
||
height: 100%;
|
||
}
|
||
|
||
.app-title {
|
||
font-size: 32rpx;
|
||
font-weight: 600;
|
||
color: #8552A1;
|
||
flex-shrink: 0;
|
||
}
|
||
|
||
.font-size-control {
|
||
display: flex;
|
||
align-items: center;
|
||
flex: 1;
|
||
gap: 4rpx; /* 改为 2rpx 的 gap,小程序 rpx = 物理像素*2 */
|
||
padding: 0 12rpx;
|
||
}
|
||
|
||
.font-size-icon {
|
||
width: 24rpx;
|
||
height: 24rpx;
|
||
flex-shrink: 0;
|
||
}
|
||
|
||
.font-slider {
|
||
flex: 1;
|
||
height: 4rpx;
|
||
}
|
||
|
||
.color-picker-btn {
|
||
width: 48rpx;
|
||
height: 48rpx;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
flex-shrink: 0;
|
||
}
|
||
|
||
.color-icon {
|
||
width: 48rpx;
|
||
height: 48rpx;
|
||
}
|
||
|
||
/* 输入栏和导出按钮 */
|
||
.input-row {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 6rpx;
|
||
height: 78rpx;
|
||
padding: 0 16rpx;
|
||
margin-top: 16rpx;
|
||
}
|
||
|
||
.text-input-container {
|
||
flex: 1;
|
||
height: 100%;
|
||
background: #F7F8FA;
|
||
border-radius: 12rpx;
|
||
padding: 0 6rpx;
|
||
}
|
||
|
||
.text-input {
|
||
width: 100%;
|
||
height: 100%;
|
||
font-size: 20rpx;
|
||
color: #4E5969;
|
||
}
|
||
|
||
.export-buttons {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 12rpx;
|
||
height: 100%;
|
||
background: #fff;
|
||
border: 1rpx solid #E5E6EB;
|
||
border-radius: 10rpx;
|
||
padding: 5rpx 10rpx;
|
||
}
|
||
|
||
.export-btn {
|
||
width: 62rpx;
|
||
height: 62rpx;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
}
|
||
|
||
.export-icon {
|
||
width: 100%;
|
||
height: 100%;
|
||
}
|
||
|
||
/* 效果预览区域 */
|
||
.preview-section {
|
||
flex: 1;
|
||
display: flex;
|
||
flex-direction: column;
|
||
margin-top: 16rpx;
|
||
padding: 0 16rpx;
|
||
border: 1rpx solid #f7e0e0;
|
||
border-radius: 12rpx;
|
||
background: #fff;
|
||
overflow: hidden;
|
||
}
|
||
|
||
.section-title {
|
||
padding: 12rpx 0;
|
||
font-size: 28rpx;
|
||
font-weight: 400;
|
||
color: #000;
|
||
}
|
||
|
||
.preview-list {
|
||
flex: 1;
|
||
min-height: 0;
|
||
}
|
||
|
||
.preview-item {
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 6rpx;
|
||
margin-bottom: 6rpx;
|
||
}
|
||
|
||
.preview-header {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 4rpx;
|
||
padding-bottom: 4rpx;
|
||
border-bottom: 0.5rpx solid #C9CDD4;
|
||
}
|
||
|
||
.font-icon {
|
||
width: 16rpx;
|
||
height: 16rpx;
|
||
flex-shrink: 0;
|
||
}
|
||
|
||
.font-name-text {
|
||
flex: 1;
|
||
font-size: 20rpx;
|
||
color: #86909C;
|
||
}
|
||
|
||
.preview-checkbox {
|
||
width: 14rpx;
|
||
height: 14rpx;
|
||
}
|
||
|
||
.checkbox-wrapper {
|
||
width: 100%;
|
||
height: 100%;
|
||
border: 1rpx solid #C9CDD4;
|
||
border-radius: 3rpx;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
.checkbox-wrapper.checked {
|
||
border-color: #9B6BC2;
|
||
background: #9B6BC2;
|
||
}
|
||
|
||
.checkbox-icon {
|
||
width: 100%;
|
||
height: 100%;
|
||
}
|
||
|
||
.preview-content {
|
||
background: transparent;
|
||
padding: 4rpx 0;
|
||
min-height: 80rpx;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
}
|
||
|
||
.preview-image {
|
||
width: 100%;
|
||
}
|
||
|
||
.preview-loading {
|
||
font-size: 24rpx;
|
||
color: #86909C;
|
||
}
|
||
|
||
.preview-empty {
|
||
text-align: center;
|
||
padding: 80rpx 0;
|
||
font-size: 24rpx;
|
||
color: #C9CDD4;
|
||
}
|
||
|
||
/* 字体选择和已收藏字体 */
|
||
.bottom-section {
|
||
display: flex;
|
||
gap: 16rpx;
|
||
height: 600rpx;
|
||
margin-top: 16rpx;
|
||
padding: 0 16rpx;
|
||
}
|
||
|
||
.font-selection,
|
||
.favorite-selection {
|
||
flex: 1;
|
||
display: flex;
|
||
flex-direction: column;
|
||
border: 1rpx solid #f7e0e0;
|
||
border-radius: 16rpx;
|
||
background: #fff;
|
||
padding: 9rpx;
|
||
overflow: hidden;
|
||
}
|
||
|
||
/* 搜索相关样式 */
|
||
.selection-header {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 8rpx;
|
||
padding: 4rpx 0;
|
||
}
|
||
|
||
.search-container {
|
||
flex: 1;
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 6rpx;
|
||
background: #F7F8FA;
|
||
border-radius: 8rpx;
|
||
padding: 4rpx 12rpx;
|
||
height: 56rpx;
|
||
}
|
||
|
||
.search-icon {
|
||
width: 28rpx;
|
||
height: 28rpx;
|
||
flex-shrink: 0;
|
||
opacity: 0.5;
|
||
}
|
||
|
||
.search-input {
|
||
flex: 1;
|
||
font-size: 22rpx;
|
||
color: #4E5969;
|
||
}
|
||
|
||
.search-toggle {
|
||
width: 56rpx;
|
||
height: 56rpx;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
flex-shrink: 0;
|
||
background: #F7F8FA;
|
||
border-radius: 8rpx;
|
||
}
|
||
|
||
.font-tree {
|
||
flex: 1;
|
||
min-height: 0;
|
||
}
|
||
|
||
.font-category {
|
||
margin-bottom: 14rpx;
|
||
}
|
||
|
||
.category-header {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 8rpx;
|
||
margin-bottom: 14rpx;
|
||
}
|
||
|
||
.expand-icon {
|
||
width: 20rpx;
|
||
height: 20rpx;
|
||
transition: transform 0.3s;
|
||
flex-shrink: 0;
|
||
}
|
||
|
||
.category-name {
|
||
font-size: 21rpx;
|
||
font-weight: 500;
|
||
color: #000;
|
||
}
|
||
|
||
.font-list {
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 0;
|
||
}
|
||
|
||
.font-item {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 9rpx;
|
||
padding-bottom: 9rpx;
|
||
border-bottom: 1rpx solid #C9CDD4;
|
||
margin-bottom: 9rpx;
|
||
}
|
||
|
||
.font-item-icon {
|
||
width: 18rpx;
|
||
height: 18rpx;
|
||
flex-shrink: 0;
|
||
}
|
||
|
||
.font-item-name {
|
||
flex: 1;
|
||
font-size: 20rpx;
|
||
color: #86909C;
|
||
}
|
||
|
||
.font-item-actions {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 9rpx;
|
||
}
|
||
|
||
.font-checkbox {
|
||
width: 21rpx;
|
||
height: 21rpx;
|
||
}
|
||
|
||
.checkbox-icon-sm {
|
||
width: 100%;
|
||
height: 100%;
|
||
}
|
||
|
||
.favorite-btn {
|
||
width: 21rpx;
|
||
height: 21rpx;
|
||
}
|
||
|
||
.favorite-icon {
|
||
width: 100%;
|
||
height: 100%;
|
||
}
|
||
|
||
.empty-favorites {
|
||
text-align: center;
|
||
padding: 60rpx 0;
|
||
font-size: 24rpx;
|
||
color: #C9CDD4;
|
||
}
|
||
|
||
/* 颜色选择器弹窗 */
|
||
.color-picker-modal {
|
||
position: fixed;
|
||
top: 0;
|
||
left: 0;
|
||
right: 0;
|
||
bottom: 0;
|
||
background: rgba(0, 0, 0, 0.5);
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
z-index: 1000;
|
||
}
|
||
|
||
.color-picker-content {
|
||
background: #fff;
|
||
border-radius: 20rpx;
|
||
padding: 40rpx;
|
||
width: 80%;
|
||
}
|
||
|
||
.color-palette {
|
||
display: flex;
|
||
flex-wrap: wrap;
|
||
gap: 20rpx;
|
||
margin-bottom: 30rpx;
|
||
}
|
||
|
||
.color-dot {
|
||
width: 60rpx;
|
||
height: 60rpx;
|
||
border-radius: 50%;
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
.color-input-row {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 16rpx;
|
||
}
|
||
|
||
.color-input {
|
||
flex: 1;
|
||
height: 60rpx;
|
||
background: #F7F8FA;
|
||
border-radius: 10rpx;
|
||
padding: 0 16rpx;
|
||
font-size: 28rpx;
|
||
}
|
||
|
||
/* 画布 */
|
||
.hidden-canvas {
|
||
position: fixed;
|
||
width: 1px;
|
||
height: 1px;
|
||
left: -9999px;
|
||
top: -9999px;
|
||
}
|