Hàm calc() tính toán kích thước trong CSS

Hàm calc() tính toán kích thước trong CSS

Đây là một hàm đặc biệt hỗ trợ trong CSS3 được sử dụng để tính toán kích thước chiều dài, chiều rộng, góc, thời gian... Trong thiết kế giao diện responsive đơn vị theo phần trăm là cách thức bạn sẽ sử dụng tuy nhiên bạn sẽ phải tính toán để trừ đi các kích thước margin, padding, border. Giả sử giao diện của bạn có 2 cột, mỗi cột bạn sẽ đặt chiều rộng là 50%, vấn đề bây giờ là bạn muốn chiều rộng 50% đó bao gồm cả giá trị margin và padding thì sao, giả sử 2 cột đó bạn sẽ đặt thuộc tính float và muốn chúng cách nhau 20px vấn đề này chắc bạn phải cần đến javaScript tính toán rồi gán giá trị cho 2 phần tử tương đương với 2 cột theo ý của bạn, lúc này bạn sẽ thấy hàm calc() vô cùng hữu ích, bạn chỉ cần áp dụng như ví dụ sau:

#div1, #divt2 {
  float: left;
  width: calc(50% - 10px);
}
#div2 {
  margin-left: 20px;
}

Với cách làm trên bạn sẽ luôn có được sự đảm bảo rằng giao diện responsive của bạn có thể co giản một cách thoải mái và sẽ vẫn dữ nguyên tỷ lệ kích thước mà bạn đặt. Bây giờ nếu bạn muốn thêm 10px padding nữa và 1px border nữa thì cũng vô cùng đơn giản, ví dụ:

#div1, #div2 {
  float: left;
  width: calc(50% - 10px - 20px - 2px);
  padding: 10px;
  border: 1px solid #003366;
}
#div2 {
  margin-left: 20px;
}

Tính năng nay hiện chỉ hổ trợ ở các trình duyệt hiện đại, với Internet Explorer từ phiên bản 9 trở lên, Firefox và Chrome thì phải sử dụng thêm tiền tố prefix riêng -moz-, -webkit-. Xem chi tiết trình duyệt và phiên bản hổ trợ tại caniuse.com

Bạn thấy bài viết này như thế nào?: 
No votes yet
Ảnh của Khanh Hoang

Khanh Hoang - Kenn

Kenn is a user experience designer and front end developer who enjoys creating beautiful and usable web and mobile experiences.

Bình luận (0)

 

Add Comment

Filtered HTML

  • Các địa chỉ web và email sẽ tự động được chuyển sang dạng liên kết.
  • Các thẻ HTML được chấp nhận: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Tự động ngắt dòng và đoạn văn.

Plain text

  • No HTML tags allowed.
  • Các địa chỉ web và email sẽ tự động được chuyển sang dạng liên kết.
  • Tự động ngắt dòng và đoạn văn.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.

Advertisement

 

jobsora

Dich vu khu trung tphcm

Dich vu diet chuot tphcm

Dich vu diet con trung

Quảng Cáo Bài Viết

 
Google chuẩn bị cắt giảm nhân sự và cơ cấu lại Motorola

Google cơ cấu lại công ty con Motorola Mobility

Google vừa cho biết đã gởi hồ sơ lên Ủy ban Chứng khoán và Hối đoái về kế hoạch cắt giảm nhân sự và cơ cấu lại công ty con Motorola Mobility của họ.

"Chị em họ" của Siri có sẵn trong Mac

"Chị em họ" của Siri có sẵn trong Mac

Chức năng Speech này có sẵn trong Mac, cũng nhận lệnh bằng giọng nói như Siri của iPhone 4S.

Hướng dẫn tạo 1 userr mới - SSH user on Centos

Hướng dẫn tạo 1 userr mới - SSH user on Centos

You can also grant root permissions to this username by using sudo for all commands:

Công ty diệt chuột T&C

 

Diet con trung