การยกเลิกการดำเนินการทางคณิตศาสตร์ใน LESS

บางครั้งมีสถานการณ์ที่เรามีการดำเนินการทางคณิตศาสตร์บางอย่างที่ไม่ควรถูก LESS ตีความเป็นคำสั่งให้คำนวณ ตัวอย่างเช่น ปัญหาดังกล่าวเกิดขึ้นในฟังก์ชัน CSS calc:

styles.lessdiv {
  width: calc(100% - 10px);
}

โชคดีที่ LESS สามารถประมวลผลตำแหน่งดังกล่าวได้อย่างถูกต้องและจะไม่ทำการคำนวณขณะคอมไพล์

อย่างไรก็ตาม มีสถานการณ์ที่นิพจน์ซึ่งไม่ต้องการการคำนวณอยู่ที่ตำแหน่งอื่น ตัวอย่างเช่น ในตัวแปร ดังนี้:

styles.less@exp: 100% - 10px;
div {
  width: calc(@exp);
}

ในกรณีนี้ ผลการคำนวณจะถูกบันทึกลงในตัวแปร และใน calc จะส่งตัวแปรที่มีค่าที่คำนวณแล้วไป เพื่อป้องกันไม่ให้เกิดเหตุการณ์ดังกล่าว เราสามารถระบุได้อย่างชัดเจนว่านิพจน์ควรคงอยู่ในรูปแบบเดิม

เพื่อการนี้ จำเป็นต้องนำนิพจน์มาอยู่ในเครื่องหมายคำพูดและใส่เครื่องหมาย tilde (~) ไว้ด้านหน้า:

styles.less@exp: ~'100% - 10px';
div {
  width: calc(@exp);
}
Задание 1

แก้ไขโค้ดให้ทำงานได้อย่างถูกต้อง:

styles.less@exp1: 80% + 10px;
@exp2: 30vh - 10px;

div {
  width: calc(@exp1);
  margin-top: calc(@exp2);
}