Hướng dẫn can you do arithmetic in css? - bạn có thể làm số học trong css không?


Các hàm toán học CSS cho phép các biểu thức toán học được sử dụng làm giá trị thuộc tính. Ở đây, chúng tôi sẽ giải thích các hàm calc(), max()min().


Hàm calc ()

Hàm calc() thực hiện tính toán sẽ được sử dụng làm giá trị thuộc tính.

CSS Cú pháp

Giá trịSự mô tả
biểu hiệnYêu cầu. Một biểu thức toán học. Kết quả sẽ được sử dụng làm giá trị. Các toán tử sau có thể được sử dụng: + - * / /
The following operators can be used: + - * /

Chúng ta hãy xem xét một ví dụ:

Thí dụ

Sử dụng calc () để tính toán chiều rộng của một phần tử:

#Div1 {& nbsp; Vị trí: Tuyệt đối; & nbsp; Trái: 50px; & nbsp; chiều rộng: calc (100% - 100px); & nbsp; biên giới: 1px màu đen rắn; & nbsp; màu nền: màu vàng; & nbsp; Đệm: 5px;}
  position: absolute;
  left: 50px;
  width: calc(100% - 100px);
  border: 1px solid black;
  background-color: yellow;
  padding: 5px;
}

Hãy tự mình thử »


Hàm tối đa ()

Hàm max() sử dụng giá trị lớn nhất, từ danh sách các giá trị được phân tách bằng dấu phẩy, làm giá trị thuộc tính.

CSS Cú pháp

Giá trịSự mô tả
biểu hiệnYêu cầu. Một biểu thức toán học. Kết quả sẽ được sử dụng làm giá trị. Các toán tử sau có thể được sử dụng: + - * / /

Chúng ta hãy xem xét một ví dụ:

Thí dụ

Sử dụng calc () để tính toán chiều rộng của một phần tử:

#Div1 {& nbsp; Vị trí: Tuyệt đối; & nbsp; Trái: 50px; & nbsp; chiều rộng: calc (100% - 100px); & nbsp; biên giới: 1px màu đen rắn; & nbsp; màu nền: màu vàng; & nbsp; Đệm: 5px;}
  background-color: yellow;
  height: 100px;
  width: max(50%, 300px);
}

Hãy tự mình thử »



Hàm tối đa ()

Hàm max() sử dụng giá trị lớn nhất, từ danh sách các giá trị được phân tách bằng dấu phẩy, làm giá trị thuộc tính.

CSS Cú pháp

Giá trịSự mô tả
biểu hiệnYêu cầu. Một biểu thức toán học. Kết quả sẽ được sử dụng làm giá trị. Các toán tử sau có thể được sử dụng: + - * / /

Chúng ta hãy xem xét một ví dụ:

Thí dụ

Sử dụng calc () để tính toán chiều rộng của một phần tử:

#Div1 {& nbsp; Vị trí: Tuyệt đối; & nbsp; Trái: 50px; & nbsp; chiều rộng: calc (100% - 100px); & nbsp; biên giới: 1px màu đen rắn; & nbsp; màu nền: màu vàng; & nbsp; Đệm: 5px;}
  background-color: yellow;
  height: 100px;
  width: min(50%, 300px);
}

Hãy tự mình thử »


Hàm tối đa ()

Hàm max() sử dụng giá trị lớn nhất, từ danh sách các giá trị được phân tách bằng dấu phẩy, làm giá trị thuộc tính.Sự mô tả
biểu hiệnYêu cầu. Một biểu thức toán học. Kết quả sẽ được sử dụng làm giá trị. Các toán tử sau có thể được sử dụng: + - * / /
Chúng ta hãy xem xét một ví dụ:Thí dụ
Sử dụng calc () để tính toán chiều rộng của một phần tử: #Div1 {& nbsp; Vị trí: Tuyệt đối; & nbsp; Trái: 50px; & nbsp; chiều rộng: calc (100% - 100px); & nbsp; biên giới: 1px màu đen rắn; & nbsp; màu nền: màu vàng; & nbsp; Đệm: 5px;}


DigitalOcean cung cấp các sản phẩm đám mây cho mọi giai đoạn của hành trình của bạn. Bắt đầu với $ 200 trong tín dụng miễn phí!

Có một tình cảm rằng để lại các tính toán toán học trong CSS của bạn là một ý tưởng tốt mà tôi đồng ý. Điều này là cho toán học mà bạn có thể tính toán tại thời điểm tác giả, nhưng cụ thể là chọn không. Chẳng hạn, nếu bạn cần một lưới dựa trên phao 7 cột (don không hỏi), thì nó sẽ sạch hơn và trực quan hơn:

.col {
  /* groan */
  width: 14.2857142857%;

  /* oh, I get it */
  width: calc(100% / 7);
}

Bạn có thể chứng minh rằng calc() mất máy tính lâu hơn 0,0000001%, vì vậy rõ ràng xác định chiều rộng nhanh hơn về mặt kỹ thuật vì lý do hiệu suất - nhưng đó là tương đương với việc không sử dụng dấu câu trong các câu vì nó tiết kiệm trọng lượng HTML.

Toán học đó có thể phức tạp hơn một chút khi bạn tiếp tục. Ví dụ, giống như trong bài viết của các trường hợp sử dụng cho calc (), những cột trong lưới 7 cột đó thì sao?

.column-1-7 {
   width: calc(100% / 7);
}

.column-2-7 {
   width: calc(100% / 7 * 2);
}

.column-3-7 {
   width: calc(100% / 7 * 3);
}

Tôi nói rằng, khá sạch sẽ để đọc và quản lý.

Khả năng đọc của toán học có thể được tăng cường bằng các bình luận nếu nó quá phức tạp. Giả sử bạn đang cố gắng tính đến một máng xối dựa trên lề với phần đệm bên trong một yếu tố:

.parent {
  width: 600px;
  padding: 18px;
}

.left {
  /* base width - 1/2 horizontal padding */
  width: calc(400px - 18px);
  margin-right: 1rem; /* gutter */
}

.right {
  /* base width - 1/2 horizontal padding - gutter */
  width: calc(200px - 1rem - 18px);
}

Một lần nữa, tôi đã nói rằng, khá dễ đọc, nhưng nó cũng là một lượng lặp lại tốt. Điều này có thể kêu gọi sử dụng các biến. Chúng tôi sẽ làm điều đó với các thuộc tính tùy chỉnh CSS để giải trí. Bạn phải chọn những gì xứng đáng là một biến và những gì không phải là. Bạn có thể cần ít nhận xét hơn khi mã trở thành phần nào tự ghi chép:

.parent {
  --padding: 18px;
  --gutter: 1rem;
  
  width: 600px;
  padding: var(--padding);
}

.left {
  width: calc(400px - var(--padding));
  margin-right: var(--gutter);
}

.right {
  width: calc(200px - var(--gutter) - var(--padding));
}

Đó là một sự cân bằng tốt với tôi. Ở đây, một bước nữa:

.parent {
  --padding: 18px;
  --gutter: 1rem;
  --parentWidth: 600px;
  --leftSize: 2/3;
  --rightSize: 1/3;
  
  width: var(--parentWidth);
  padding: var(--padding);
}

.left {
  width: calc(calc(var(--parentWidth) * var(--leftSize)) - var(--padding));
  margin-right: var(--gutter);
}

.right {
  width: calc(calc(var(--parentWidth) * var(--rightSize)) - var(--gutter) - var(--padding));
}

Mỗi số đã được cung cấp một biến trong đó. Quá xa? Có lẽ. Nó chắc chắn làm cho những tuyên bố chiều rộng đó khá khó khăn để quấn đầu bạn một cách nhanh chóng. Ana Tudor thực hiện một số thứ nghiêm túc với calc(), như là bằng chứng cho thấy mọi người về mức độ thoải mái với công cụ này là khác nhau.

Một trong những điều khiến tôi nghĩ về tất cả những điều này là một bài viết gần đây từ James Nash - Hard Hardcore CSS calc () - nơi anh ấy xây dựng điều này:

Hướng dẫn can you do arithmetic in css? - bạn có thể làm số học trong css không?

Mặc dù giải pháp đã đi một con đường toán học nặng nề để đến đó, nhưng cuối cùng nó chỉ là loại tính toán trung bình trên đồng hồ đo độ phức tạp của OL. Và lưu ý rằng không phải mọi thứ đều có một biến số chỉ là các bit được sử dụng lại nhiều nhất:

Xem khối hình thu nhỏ 1 + 2 Pen của James Nash (@cirrus) trên Codepen.

Bạn có thể sử dụng số học trong CSS không?

CSS có năm chức năng toán học cho phép bạn thực hiện các phép toán số học cơ bản, điều chỉnh, phép trừ, nhân, so sánh và chia trên các đơn vị số CSS như số (ví dụ: 10, 0.8, -6), độ dài (PX, REM, VW ) và tỷ lệ phần trăm (50%), với khả năng nội suy giữa các đơn vị này.—addition, subtraction, multiplication, comparison, and division on CSS numeric units such as numbers (for example, 10, 0.8, -6), lengths ( px , rem , vw ), and percentages (50%), with the ability to interpolate between these units.

Tôi có thể sử dụng các công thức trong CSS không?

Hàm CSS calc được sử dụng để thực hiện các tính toán khi chỉ định các giá trị của các thuộc tính CSS.Nó có thể được sử dụng khi có thể sử dụng bất kỳ giá trị số nào.Nó lấy một biểu thức làm tham số của nó và sử dụng kết quả làm giá trị của thuộc tính CSS nơi nó được sử dụng.. It can be used where any numerical value can be used. It takes an expression as its parameter and uses the result as the value of the CSS property where it is used.

HTML CSS có yêu cầu toán học không?

HTML là tất cả dựa trên văn bản (không cần toán học ở đây).Cú pháp yêu cầu bạn đặt thẻ bắt đầu và kết thúc thẻ xung quanh văn bản của bạn để cho các trình duyệt biết loại văn bản đó là gì và làm thế nào để hiển thị nó.Ví dụ: giả sử chúng tôi muốn tạo một trang web có tính năng máy tính cơ bản.no math required here). The syntax requires you to place a start tag and end tag around your text to tell browsers what kind of text it is and how to display it. For example, let's say we want to create a webpage that features a basic calculator.

Toán JavaScript là gì?

Toán học là một đối tượng tích hợp có các thuộc tính và phương pháp cho các hằng số và chức năng toán học.Nó không phải là một đối tượng chức năng.Toán học hoạt động với loại số.a built-in object that has properties and methods for mathematical constants and functions. It's not a function object. Math works with the Number type.