Skip to content

Commit 7ef6c73

Browse files
committed
fix: 修复媒体查询的单位范围
1 parent 869e157 commit 7ef6c73

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

src/style_propetries/macros.rs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ macro_rules! generate_prop_name {
1010
#[macro_export]
1111
macro_rules! generate_expr_lit_str {
1212
($var:expr) => {{
13+
generate_expr_lit_str!($var, true)
14+
}};
15+
($var:expr, $convert_lpx:expr) => {{
1316
use swc_core::ecma::ast::*;
1417

1518
let re = regex::Regex::new(r#"\b(\d+(?:px|vw|vh))\b"#).unwrap();
@@ -19,7 +22,11 @@ macro_rules! generate_expr_lit_str {
1922
let unit = &value[value.len() - 2..];
2023
let parsed_value: i32 = value[..value.len() - 2].parse().unwrap();
2124
if unit == "px" {
22-
format!("{}lpx", parsed_value)
25+
if $convert_lpx {
26+
format!("{}lpx", parsed_value)
27+
} else {
28+
format!("{}vp", parsed_value)
29+
}
2330
} else {
2431
format!("{}{}", parsed_value, unit)
2532
}

src/style_propetries/style_media.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ impl StyleMedia {
148148
MediaValueType::String(val) => {
149149
return Some(ExprOrSpread {
150150
spread: None,
151-
expr: Box::new(generate_expr_lit_str!(val)),
151+
expr: Box::new(generate_expr_lit_str!(val, false)),
152152
});
153153
}
154154
}
@@ -341,7 +341,7 @@ impl StyleMedia {
341341
match feature_val {
342342
MediaFeatureValue::Length(length_value) => {
343343
let length_str = length_value.to_css_string(PrinterOptions::default());
344-
return Some(MediaValueType::String(length_str.unwrap()));
344+
return Some(MediaValueType::String(length_str.unwrap().clone()));
345345
}
346346
MediaFeatureValue::Number(value) => {
347347
return Some(MediaValueType::Float(*value as f64));

0 commit comments

Comments
 (0)