diff --git a/packages/preset-mini/src/_variants/breakpoints.ts b/packages/preset-mini/src/_variants/breakpoints.ts index ed81635c3e..e44b7135db 100644 --- a/packages/preset-mini/src/_variants/breakpoints.ts +++ b/packages/preset-mini/src/_variants/breakpoints.ts @@ -20,7 +20,7 @@ export function variantBreakpoints(): VariantObject { = Object.entries(resolveBreakpoints(context) ?? {}).map(([point, size], idx) => [point, size, idx]) for (const [point, size, idx] of variantEntries) { if (!regexCache[point]) - regexCache[point] = new RegExp(`^((?:([al]t-|[<~]))?${point}(?:${context.generator.config.separators.join('|')}))`) + regexCache[point] = new RegExp(`^((?:([al]t-|[<~]|max-))?${point}(?:${context.generator.config.separators.join('|')}))`) const match = matcher.match(regexCache[point]) if (!match) @@ -35,7 +35,7 @@ export function variantBreakpoints(): VariantObject { if (m === 'container') continue - const isLtPrefix = pre.startsWith('lt-') || pre.startsWith('<') + const isLtPrefix = pre.startsWith('lt-') || pre.startsWith('<') || pre.startsWith('max-') const isAtPrefix = pre.startsWith('at-') || pre.startsWith('~') let order = 1000 // parseInt(size) @@ -77,6 +77,6 @@ export function variantBreakpoints(): VariantObject { } }, multiPass: true, - autocomplete: '(at-|lt-|)$breakpoints:', + autocomplete: '(at-|lt-|max-|)$breakpoints:', } } diff --git a/test/assets/output/preset-mini-targets.css b/test/assets/output/preset-mini-targets.css index 3b3f9cc16a..8868de7c21 100644 --- a/test/assets/output/preset-mini-targets.css +++ b/test/assets/output/preset-mini-targets.css @@ -1019,7 +1019,8 @@ unocss .scope-\[unocss\]\:block{display:block;} } @media (max-width: 639.9px){ .\