-
Notifications
You must be signed in to change notification settings - Fork 310
Closed
Description
Problem Description
option.css 把这些删掉就正常了
衝突部份
Reproduction Steps
ScriptCat Version
Operating System and Browser Information
Additional Information (Optional)
No response
以下的 CSS classname 都会加入 prefix
.visible {
visibility: visible;
}
.absolute {
position: absolute;
}
.fixed {
position: fixed;
}
.relative {
position: relative;
}
.static {
position: static;
}
.bottom-0 {
bottom: 0;
}
.right-1 {
right: .25rem;
}
.top-1\/2 {
top: 50%;
}
.top-50px {
top: 50px;
}
.grid {
display: grid;
}
.\!m-0 {
margin: 0!important;
}
.m\[0\] {
margin: 0;
}
.m\[1\] {
margin: 1px;
}
.m\[2\] {
margin: 2px;
}
.mb-1 {
margin-bottom: .25rem;
}
.mb-2 {
margin-bottom: .5rem;
}
.mb-3 {
margin-bottom: .75rem;
}
.mb-4 {
margin-bottom: 1rem;
}
.ml-1 {
margin-left: .25rem;
}
.ml-6 {
margin-left: 1.5rem;
}
.mr-1 {
margin-right: .25rem;
}
.ms {
margin-inline-start: 1rem;
}
.mt {
margin-top: 1rem;
}
.box-border {
box-sizing: border-box;
}
.block {
display: block;
}
.inline-block {
display: inline-block;
}
.contents {
display: contents;
}
.hidden {
display: none;
}
.\!h-6 {
height: 1.5rem!important;
}
.h-3 {
height: .75rem;
}
.h-6 {
height: 1.5rem;
}
.h-auto {
height: auto;
}
.h-full {
height: 100%;
}
.max-w-\[240px\] {
max-width: 240px;
}
.max-w-100 {
max-width: 25rem;
}
.max-w-30 {
max-width: 7.5rem;
}
.max-w-45 {
max-width: 11.25rem;
}
.max-w-50 {
max-width: 12.5rem;
}
.max-w-60 {
max-width: 15rem;
}
.max-w-62\.5 {
max-width: 15.625rem;
}
.max-w-75 {
max-width: 18.75rem;
}
.max-w-80 {
max-width: 20rem;
}
.min-h-10 {
min-height: 2.5rem;
}
.min-h-9 {
min-height: 2.25rem;
}
.min-w-\[100px\] {
min-width: 100px;
}
.min-w-0 {
min-width: 0;
}
.min-w-20 {
min-width: 5rem;
}
.w-25 {
width: 6.25rem;
}
.w-3 {
width: .75rem;
}
.w-35 {
width: 8.75rem;
}
.w-40 {
width: 10rem;
}
.w-50 {
width: 12.5rem;
}
.w-64 {
width: 16rem;
}
.w-full {
width: 100%;
}
.w1 {
width: .25rem;
}
.w2 {
width: .5rem;
}
.\!flex,.flex\! {
display: flex!important;
}
.flex {
display: flex;
}
.inline-flex {
display: inline-flex;
}
.flex-1 {
flex: 1;
}
.flex-shrink-0 {
flex-shrink: 0;
}
.flex-grow,.grow {
flex-grow: 1;
}
.\!flex-row {
flex-direction: row!important;
}
.flex-row {
flex-direction: row;
}
.\!flex-col {
flex-direction: column!important;
}
.flex-col {
flex-direction: column;
}
.table {
display: table;
}
.table\! {
display: table!important;
}
.-translate-y-1\/2 {
--un-translate-y: -50%;
transform: translateX(var(--un-translate-x))translateY(var(--un-translate-y))translateZ(var(--un-translate-z))rotate(var(--un-rotate))rotateX(var(--un-rotate-x))rotateY(var(--un-rotate-y))rotateZ(var(--un-rotate-z))skewX(var(--un-skew-x))skewY(var(--un-skew-y))scaleX(var(--un-scale-x))scaleY(var(--un-scale-y))scaleZ(var(--un-scale-z));
}
.transform {
transform: translateX(var(--un-translate-x))translateY(var(--un-translate-y))translateZ(var(--un-translate-z))rotate(var(--un-rotate))rotateX(var(--un-rotate-x))rotateY(var(--un-rotate-y))rotateZ(var(--un-rotate-z))skewX(var(--un-skew-x))skewY(var(--un-skew-y))scaleX(var(--un-scale-x))scaleY(var(--un-scale-y))scaleZ(var(--un-scale-z));
}
.cursor-default {
cursor: default;
}
.cursor-pointer {
cursor: pointer;
}
.select-none {
-webkit-user-select: none;
user-select: none;
}
.items-start {
align-items: flex-start;
}
.items-center {
align-items: center;
}
.justify-end {
justify-content: flex-end;
}
.justify-center {
justify-content: center;
}
.justify-between {
justify-content: space-between;
}
.justify-self-center {
justify-self: center;
}
.gap-1 {
gap: .25rem;
}
.gap-10 {
gap: 2.5rem;
}
.gap-2 {
gap: .5rem;
}
.gap-3 {
gap: .75rem;
}
.gap-4 {
gap: 1rem;
}
.gap-x-1 {
-moz-column-gap: .25rem;
column-gap: .25rem;
}
.space-y-1>:not([hidden])~:not([hidden]) {
--un-space-y-reverse: 0;
margin-top: calc(.25rem*calc(1 - var(--un-space-y-reverse)));
margin-bottom: calc(.25rem*var(--un-space-y-reverse));
}
.space-y-4>:not([hidden])~:not([hidden]) {
--un-space-y-reverse: 0;
margin-top: calc(1rem*calc(1 - var(--un-space-y-reverse)));
margin-bottom: calc(1rem*var(--un-space-y-reverse));
}
.overflow-auto {
overflow: auto;
}
.overflow-hidden {
overflow: hidden;
}
.text-ellipsis {
text-overflow: ellipsis;
}
.break-all {
word-break: break-all;
}
.b,.border {
border-width: 1px;
}
.rounded {
border-radius: .25rem;
}
.rounded-full {
border-radius: 9999px;
}
.\!p-\[10px\] {
padding: 10px!important;
}
.p-1,.p1 {
padding: .25rem;
}
.p-2,.p2 {
padding: .5rem;
}
.p-8px {
padding: 8px;
}
.p\[\^abc\] {
padding: ^abc;
}
.p\[k\] {
padding: k;
}
.p3 {
padding: .75rem;
}
.p4 {
padding: 1rem;
}
.\!px-4 {
padding-left: 1rem!important;
padding-right: 1rem!important;
}
.px-2 {
padding-left: .5rem;
padding-right: .5rem;
}
.px-3 {
padding-left: .75rem;
padding-right: .75rem;
}
.px-4 {
padding-left: 1rem;
padding-right: 1rem;
}
.py-1 {
padding-top: .25rem;
padding-bottom: .25rem;
}
.py-2 {
padding-top: .5rem;
padding-bottom: .5rem;
}
.pb-2 {
padding-bottom: .5rem;
}
.text-center {
text-align: center;
}
.text-left {
text-align: left;
}
.text-right {
text-align: right;
}
.text-end {
text-align: end;
}
.indent-4 {
text-indent: 1rem;
}
.\!text-lg {
font-size: 1.125rem!important;
line-height: 1.75rem!important;
}
.text-\[12px\] {
font-size: 12px;
}
.text-2xl {
font-size: 1.5rem;
line-height: 2rem;
}
.text-base {
font-size: 1rem;
line-height: 1.5rem;
}
.text-sm {
font-size: .875rem;
line-height: 1.25rem;
}
.text-xl {
font-size: 1.25rem;
line-height: 1.75rem;
}
.text-xs {
font-size: .75rem;
line-height: 1rem;
}
.\!text-size-sm {
font-size: .875rem!important;
}
.text-size-lg {
font-size: 1.125rem;
}
.dark .dark\:text-blue-400 {
--un-text-opacity: 1;
color: rgb(96 165 250/var(--un-text-opacity));
}
.dark .dark\:text-gray-100 {
--un-text-opacity: 1;
color: rgb(243 244 246/var(--un-text-opacity));
}
.dark .dark\:text-gray-200 {
--un-text-opacity: 1;
color: rgb(229 231 235/var(--un-text-opacity));
}
.dark .dark\:text-gray-300 {
--un-text-opacity: 1;
color: rgb(209 213 219/var(--un-text-opacity));
}
.text-blue-500 {
--un-text-opacity: 1;
color: rgb(59 130 246/var(--un-text-opacity));
}
.color-gray-5,.text-gray-500 {
--un-text-opacity: 1;
color: rgb(107 114 128/var(--un-text-opacity));
}
.text-gray-700 {
--un-text-opacity: 1;
color: rgb(55 65 81/var(--un-text-opacity));
}
.text-gray-800 {
--un-text-opacity: 1;
color: rgb(31 41 55/var(--un-text-opacity));
}
.text-gray-900 {
--un-text-opacity: 1;
color: rgb(17 24 39/var(--un-text-opacity));
}
.\!hover\:text-blue-600:hover {
--un-text-opacity: 1!important;
color: rgb(37 99 235/var(--un-text-opacity))!important;
}
.dark .dark\:hover\:text-blue-400:hover {
--un-text-opacity: 1;
color: rgb(96 165 250/var(--un-text-opacity));
}
.font-500,.font-medium {
font-weight: 500;
}
.underline,.hover\:underline:hover {
text-decoration-line: underline;
}
.underline-offset-2,.hover\:underline-offset-2:hover {
text-underline-offset: 2px;
}
.\!tab {
-moz-tab-size: 4!important;
tab-size: 4!important;
}
.tab {
-moz-tab-size: 4;
tab-size: 4;
}
.opacity-0 {
opacity: 0;
}
.group:hover .group-hover\:opacity-100 {
opacity: 1;
}
.outline {
outline-style: solid;
}
.filter {
filter: var(--un-blur)var(--un-brightness)var(--un-contrast)var(--un-drop-shadow)var(--un-grayscale)var(--un-hue-rotate)var(--un-invert)var(--un-saturate)var(--un-sepia);
}
.transition {
transition-property: color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;
transition-duration: .15s;
transition-timing-function: cubic-bezier(.4,0,.2,1);
}
.transition-all {
transition-property: all;
transition-duration: .15s;
transition-timing-function: cubic-bezier(.4,0,.2,1);
}
.transition-opacity {
transition-property: opacity;
transition-duration: .15s;
transition-timing-function: cubic-bezier(.4,0,.2,1);
}
.duration-200 {
transition-duration: .2s;
}
.duration-300 {
transition-duration: .3s;
}
.ease {
transition-timing-function: cubic-bezier(.4,0,.2,1);
}
.ease-out {
transition-timing-function: cubic-bezier(0,0,.2,1);
}
简单检查
(?<=["\s`])!?(dark:|hover:|dark:hover:|hover:dark:)?(?:text-gray-\d+|m-\d+|bg-fill-\d+|text-blue-\d+|visible|absolute|fixed|relative|static|bottom-0|right-1|top-1\/2|top-50px|grid|!\?m-0|m\[0\]|m\[1\]|m\[2\]|mb-\d+|ml-\d+|mr-\d+|mt|box-border|block|inline-block|contents|hidden|!\?h-6|h-\d+|h-auto|h-full|max-w-\[240px\]|max-w-\d+(?:\.\d+)?|max-w-100|min-h-\d+|min-w-\[100px\]|min-w-\d+|w-\d+|w-full|w1|w2|!flex|flex!|flex|inline-flex|flex-1|flex-shrink-0|flex-grow|grow|!\?flex-row|flex-row|!\?flex-col|flex-col|table|table!|-translate-y-1\/2|transform|cursor-default|cursor-pointer|select-none|items-start|items-center|justify-end|justify-center|justify-between|justify-self-center|gap-\d+|gap-x-1|space-y-\d+|overflow-auto|overflow-hidden|text-ellipsis|break-all|b|border|rounded|rounded-full|!p-\[10px\]|p-\d+|p1|p2|p3|p4|p8px|p\[\^abc\]|p\[k\]|!\?px-\d+|px-\d+|py-\d+|pb-\d+|text-center|text-left|text-right|text-end|indent-4|!text-lg|text-\[12px\]|text-2xl|text-base|text-sm|text-xl|text-xs|!text-size-sm|text-size-lg|darkdark:text-(?:blue-400|gray-100|gray-200|gray-300)|text-(?:blue-500|gray-(?:500|700|800|900))|color-gray-5|!hover:text-blue-600:hover|darkdark:hover:text-blue-400:hover|font-500|font-medium|underline|hover:underline:hover|underline-offset-2|hover:underline-offset-2:hover|opacity-0|group-hover:opacity-100|outline|filter|transition|transition-all|transition-opacity|duration-(?:200|300)|ease|ease-out|[hw]-screen|[hw]-full|gap-[xy]-\d+|[pm][rtlr]-\d+|grow-\d|shrink-\d|justify-start|truncate|flex-wrap|flex-nowrap|overflow-[xy]-auto|basis-\d+\/\d+|float-\w+|grow-\d+|shirnk-\d+)(?=["\s`])
工具转换:
手工转换
1)className: "XXXX"
2) className={website ? "cursor-pointer" : "cursor-default"}
3)
className={[
"justify-self-center",
mRecords.site.length === 0 && mRecords.other.length === 0 && mRecords.ignored.length === 0
? "hidden"
: "",
]}
className={"w-full"}grow-0shrink-1grow-1shrink-0
这两个奇怪class一直在存于 UnoCSS 的打包结果。原因不明
加 prefix 后,就不见了
推测是 UnoCSS 因为没 prefix 乱扫一通,扫描错误
例子:UnoCSS 把 "tab", "transition" 等名字 扫出来,可是实际没用到 "tab" ,"transition" 这些 css classname.
当然UnoCSS本身也有些不可避免的无谓CSS
例如我没有写过 uno-group
但因为有 group-hover:uno-opacity-100 所以它还是会生成一些多余的CSS
做个记录。有需要可以查看前后打包差异:
Metadata
Metadata
Assignees
Labels
No labels

