/* 磁盘配置卡片:容量输入、滑块、说明和移除操作。 */ /* 导入方:app/components/config/CommonConfig.vue、app/components/config/ConfigDiskCard.vue、app/components/config/FinanceConfig.vue、app/components/config/JyCloudConfig.vue、app/components/config/KkyEcsConfig.vue、app/components/config/MfCloudConfig.vue、app/components/config/MfDcimConfig.vue、app/pages/products/[id].vue、app/pages/products/cloud-server.vue、app/pages/products/dedicated-server/customize.vue。 */ .storage-field[data-v-83c644c5] { min-width: 0; } .storage-label[data-v-83c644c5] { color: var(--p-text-color); margin-bottom: 12px; font-size: 1rem; font-weight: 500; line-height: 1.571rem; } .storage-card[data-v-83c644c5] { border: 2px solid var(--p-primary-color); background: var(--p-highlight-background); min-width: 0; box-shadow: 0 2px 5px color-mix(in srgb, var(--p-primary-color) 15%, transparent); border-radius: var(--radius-md); flex-direction: column; gap: 20px; padding: 16px; display: flex; } .storage-card-header[data-v-83c644c5] { justify-content: space-between; align-items: center; gap: 12px; min-height: 20px; display: flex; } /* 允许连续长文本换行,防止IP、密钥或用户输入撑破当前容器;不会修改原始数据。 */ .storage-card-header strong[data-v-83c644c5] { color: var(--p-highlight-color); overflow-wrap: anywhere; font-size: 1rem; font-weight: 650; line-height: 1.429rem; } .storage-capacity[data-v-83c644c5] { border: 1px solid var(--p-content-border-color); background: var(--p-content-background); border-radius: var(--radius-md); width: 100%; min-width: 0; display: flex; box-shadow: 0 1px 2px #0000000a; } .storage-capacity[data-v-83c644c5]:focus-within { outline: 2px solid var(--p-primary-color); outline-offset: 2px; } .storage-capacity[data-v-83c644c5] .p-inputnumber { flex: 1; width: 0; min-width: 0; max-width: none; } .storage-capacity[data-v-83c644c5] .p-inputnumber-input { width: 100%; min-width: 0; min-height: 36px; box-shadow: none; color: var(--p-text-color); opacity: 1; background: 0 0; border: 0; padding: 8px 10px; font-size: 1rem; } .storage-unit[data-v-83c644c5] { border-left: 1px solid var(--p-content-border-color); color: var(--p-text-muted-color); justify-content: center; align-items: center; padding: 0 8px; font-size: 1rem; display: flex; } .storage-slider[data-v-83c644c5] { appearance: none; background: var(--p-content-border-color); cursor: pointer; border: 0; border-radius: var(--radius-sm); width: 100%; height: 3px; margin: 9px 0; display: block; } .storage-slider[data-v-83c644c5]::-webkit-slider-thumb { appearance: none; border: 2px solid var(--p-content-border-color); background: var(--p-content-background); border-radius: 50%; width: 19px; height: 19px; box-shadow: 0 1px 2px #0000002e; } .storage-slider[data-v-83c644c5]::-moz-range-thumb { box-sizing: border-box; border: 2px solid var(--p-content-border-color); background: var(--p-content-background); border-radius: 50%; width: 19px; height: 19px; box-shadow: 0 1px 2px #0000002e; } /* 键盘操作的可见焦点:不要只保留鼠标 hover 效果而移除此反馈。 */ .storage-slider[data-v-83c644c5]:focus-visible { outline: 2px solid var(--p-primary-color); outline-offset: 9px; } .storage-slider[data-v-83c644c5]:disabled { cursor: default; } .storage-description[data-v-83c644c5] { color: var(--p-primary-color); overflow-wrap: anywhere; margin: 0; font-size: 0.9375rem; line-height: 1.429rem; } .storage-remove[data-v-83c644c5] { width: 30px; height: 30px; color: var(--p-text-muted-color); cursor: pointer; background: 0 0; border: 0; border-radius: var(--radius-sm); flex-shrink: 0; justify-content: center; align-items: center; margin: -3px; padding: 0; display: inline-flex; } .storage-remove[data-v-83c644c5]:hover:not(:disabled) { color: var(--p-red-500); background: var(--p-content-background); } .storage-remove[data-v-83c644c5]:focus-visible { outline: 2px solid var(--p-primary-color); outline-offset: 2px; } .storage-remove[data-v-83c644c5]:disabled { opacity: 0.5; cursor: not-allowed; } /* 视口条件 (width<640px) 下的响应式覆盖;保留相对基础规则的层叠顺序。 */ @media (width<640px) { .storage-card[data-v-83c644c5] { gap: 20px; padding: 16px; } }