Calc 100 là gì
Sử dụng calc() trong CSS3
Bài đăng này đã không được cập nhật trong 3 năm Show
Chào các bạn, Trong bài này tôi sẽ giới thiệu về calc() trong CSS3 I. Giới thiệu về calc()Như chúng ta đã biết thì từ CSS3, chúng ta đã có hàm calc() cho phép chúng ta thực hiện các phép toán học ngay trong thuộc tính(property). Thay vì khai báo các giá trị pixel tĩnh cho các độ rộng (width) của element, chúng ta có thể sử dụng calc() để xác định kết quả dựa trên nhiều giá trị số truyền vào. Ví dụ.foo { width: calc(100px + 50px); } II. Tại sao nên sử dụng calc()Nếu bạn sử dụng CSS pro-processors giống như SASS, những gì bạn cần viết tương tự như trên sẽ là:.foo { width: 100px + 50px; } // Or using SASS variables $width-one: 100px; $width-two: 50px; .bar { width: $width-one + $width-two; } Tuy nhiên, hàm calc() ở trên sẽ cho ta 1 giải pháp tốt hơn với lý do:
Ví dụ:.foo { width: calc(100% - 50px); } Trong ví dụ trên thì element .foo luôn có width là 50px nhỏ hơn so với 100% kích thức của parent chứa nó.
Ví dụ:// Value specified in SCSS .foo { width: 100px + 50px; } // Compiled CSS and computed value in browser .foo { width: 150px; } Tuy nhiên, nếu sử dụng calc() thì giá trị parsed ra bởi browser sẽ vẫn là calc() expression// Value specified in CSS .foo { width: calc(100% - 50px); } // Computed value in browser .foo { width: calc(100% - 50px); } Điều này có nghĩa là giá trị của nó trên browser sẽ được dynamic. Khi đó, nếu 1 phần viewport(chiều cao hoặc chiều rộng) được thay đổi thì giá trị của nó sẽ được thay đổi và được trừ đi 1 giá trị tuyệt đối (50px) tương ứng. Có thể bạn quan tâmIII. Sử dụng calc() khi nào?Sử dụng calc() khi bạn muốn thực hiện cộng, trừ, nhân, chia với các giá trị thuộc tính số. Đặc biệt bạn có thể sử dụng nó với kiểu dữ liệu như length, frequency, angle, time, number, integer Ví dụ:.foo { width: calc(50vmax + 3rem); padding: calc(1vw + 1em); transform: rotate( calc(1turn + 28deg) ); background: hsl(100, calc(3 * 20%), 40%); font-size: calc(50vw / 3); } IV. Lồng hàmcalc() có thể sử dụng lồng nhau, tuy nhiên nó được coi như các biểu thức tính toán đơn giản Ví dụ:.foo { width: calc( 100% / calc(100px * 2) ); } Giá trị tính toán của function sẽ tuơng ứng với:.foo { width: calc( 100% / (100px * 2) ); } V. Cung cấp Fallbackcalc() khá là phổ biến, khi support hầu hết các browser hiện tại Đối với các browser không support calc() thì các biểu thức expression sẽ bị ignored. Khi đó chúng ta hoàn toàn có thể cung cấp các giải pháp fallback bằng các static value.foo { width: 90%; /* Fallback for older browsers */ width: calc(100% - 50px); } VI. Khi nào thì sử dụng calc()calc() là hữu ích trong rất nhiều các tình huống, do đó chúng ta có thể phối kết hợp nó trong các bài toán cụ thể. Ví dụ sử dụng calc() để xử lý các phần tử trung tâm:// Assuming .foo is 300px height and 300px width .foo { position: absolute top: 50%; left: 50%; marging-top: -150px; margin-left: -150px; } Thay thế bằng calc().foo { position: absolute top: calc(50% - 150px); left: calc(50% - 150px); } VII.Kết luậnTrên đây là bài giới thiệu về calc() trong CSS3, mong là nó sẽ hữu ích cho các bạn. Thanks for reading!!! Sử dụng calc() trong CSS3
Bài đăng này đã không được cập nhật trong 3 năm Chào các bạn, Trong bài này tôi sẽ giới thiệu về calc() trong CSS3 I. Giới thiệu về calc()Như chúng ta đã biết thì từ CSS3, chúng ta đã có hàm calc() cho phép chúng ta thực hiện các phép toán học ngay trong thuộc tính(property). Thay vì khai báo các giá trị pixel tĩnh cho các độ rộng (width) của element, chúng ta có thể sử dụng calc() để xác định kết quả dựa trên nhiều giá trị số truyền vào. Ví dụ.foo { width: calc(100px + 50px); } II. Tại sao nên sử dụng calc()Nếu bạn sử dụng CSS pro-processors giống như SASS, những gì bạn cần viết tương tự như trên sẽ là:.foo { width: 100px + 50px; } // Or using SASS variables $width-one: 100px; $width-two: 50px; .bar { width: $width-one + $width-two; } Tuy nhiên, hàm calc() ở trên sẽ cho ta 1 giải pháp tốt hơn với lý do:
Ví dụ:.foo { width: calc(100% - 50px); } Trong ví dụ trên thì element .foo luôn có width là 50px nhỏ hơn so với 100% kích thức của parent chứa nó.
Ví dụ:// Value specified in SCSS .foo { width: 100px + 50px; } // Compiled CSS and computed value in browser .foo { width: 150px; } Tuy nhiên, nếu sử dụng calc() thì giá trị parsed ra bởi browser sẽ vẫn là calc() expression// Value specified in CSS .foo { width: calc(100% - 50px); } // Computed value in browser .foo { width: calc(100% - 50px); } Điều này có nghĩa là giá trị của nó trên browser sẽ được dynamic. Khi đó, nếu 1 phần viewport(chiều cao hoặc chiều rộng) được thay đổi thì giá trị của nó sẽ được thay đổi và được trừ đi 1 giá trị tuyệt đối (50px) tương ứng. III. Sử dụng calc() khi nào?Sử dụng calc() khi bạn muốn thực hiện cộng, trừ, nhân, chia với các giá trị thuộc tính số. Đặc biệt bạn có thể sử dụng nó với kiểu dữ liệu như length, frequency, angle, time, number, integer Ví dụ:.foo { width: calc(50vmax + 3rem); padding: calc(1vw + 1em); transform: rotate( calc(1turn + 28deg) ); background: hsl(100, calc(3 * 20%), 40%); font-size: calc(50vw / 3); } IV. Lồng hàmcalc() có thể sử dụng lồng nhau, tuy nhiên nó được coi như các biểu thức tính toán đơn giản Ví dụ:.foo { width: calc( 100% / calc(100px * 2) ); } Giá trị tính toán của function sẽ tuơng ứng với:.foo { width: calc( 100% / (100px * 2) ); } V. Cung cấp Fallbackcalc() khá là phổ biến, khi support hầu hết các browser hiện tại Đối với các browser không support calc() thì các biểu thức expression sẽ bị ignored. Khi đó chúng ta hoàn toàn có thể cung cấp các giải pháp fallback bằng các static value.foo { width: 90%; /* Fallback for older browsers */ width: calc(100% - 50px); } VI. Khi nào thì sử dụng calc()calc() là hữu ích trong rất nhiều các tình huống, do đó chúng ta có thể phối kết hợp nó trong các bài toán cụ thể. Ví dụ sử dụng calc() để xử lý các phần tử trung tâm:// Assuming .foo is 300px height and 300px width .foo { position: absolute top: 50%; left: 50%; marging-top: -150px; margin-left: -150px; } Thay thế bằng calc().foo { position: absolute top: calc(50% - 150px); left: calc(50% - 150px); } VII.Kết luậnTrên đây là bài giới thiệu về calc() trong CSS3, mong là nó sẽ hữu ích cho các bạn. Thanks for reading!!! |
Bài Viết Liên Quan
Em hiểu thế nào về nghĩa của từ dềnh dàng
Những câu hỏi liên quan Hai từ “dềnh dàng” và cụm từ “bắt đầu vội vã” trong đoạn thơ vừa chép có ý nghĩa gì trong việc thể hiện dụng ý nghệ ...
Hút chân không ở đâu hà nội
Dịch vụ hút chân không thuê ở Hà nội đang được nhiều người dân tìm kiếm và sử dụng để bảo quản thực phẩm được tốt hơn. Việc đầu tư máy hút ...
Gà hầm thuốc bắc trong bao lâu
Bạn đang cảm giác mệt mỏi cả về thể xác lẫn tinh thần? Cần giải cảm? Ngủ không đủ giấc? Đừng lo, đã có món Gà Hầm Thuốc Bắc ngon tuyệt vời giúp ...
Tại sao Việt Nam lại tham gia vào công ước quốc tế về môi trường
Trong những năm qua, thông qua các hoạt động hợp tác quốc tế về môi trường, Bộ Tài Nguyên và Môi trường đã triển khai hiệu quả các điều ước song ...
Tại sao có mụ phù thủy mà không có ông phù thủy
Vợ với chồng giống như một cặp bánh xe cùng đưa chiếc xe đi trên hành trình cuộc đời này. Hai bánh xe này có sự ăn khớp với nhau không? Và tại sao điều ...
Sản phẩm slady bán ở đâu
SLady hiện đang là sản phẩm cân bằng nội tiết tố hàng đầu trên thị trường, được hàng ngàn chị em phụ nữ tin tưởng, sử dụng, xem như “bí kíp” ...
I understand you là gì
understand why you have you have gotta understand understand why i have you have been understand you have to understand how i have come to understand i hope you understand i understand why you i ...
Học bác sĩ tâm lý ở đâu
Làm thế nào để có thể nhận thức rõ mình? Làm thế nào để có thể chế ngự được những căng thẳng của cuộc sống, giải tỏa được những ẩn ức trong ...
Tỏi ngâm mật ong bao lâu dùng được
Nghe thì kì lạ, nhưng nhiều gia đình chọn cách ngâm tỏi với mật ong như 1 phương thuốc tự nhiên đơn giản mà hiệu quả. Vậy ngâm tỏi ...
Vì sao adn có cấu tạo đa dạng đặc thù
Những câu hỏi liên quan Vì sao ADN có cấu tạo rất đa dạng và đặc thù. Câu 2 trang 47 Sinh học 9 ngắn nhất: Vì sao ADN có cấu tạo rất ...
Bao nhiêu ngày kể từ 27/1/2008
Ngày sinh có ý nghĩa đặc biệt trong cuộc đời của mỗi con người. Không chỉ quyết định tính cách, sự nghiệp, tình duyên nghề nghiệp, may mắn, vận hạn ...
Nguyễn võ quỳnh trang quê ở đâu
Ngày 28.12, Công an Q.Bình Thạnh (TP.HCM) đã ra quyết định khởi tố bị can, bắt tạm giam 2 tháng đối với Nguyễn Võ Quỳnh Trang (26 tuổi, quê Gia Lai) để điều ...
Mua k20 ở đâu
Xiaomi Redmi K20 Prođã được Redmi (thương hiệu con của Xiaomi) chính thức ra mắt vào tháng 5/2019 với thiết kế camera pop-up độc đáo, đánh dấu một bước ngoặt ...
Zone trong the thao là gì
Phòng thủ liên phòng là gì? Khi sử dụng bài phòng thủ liên phòng, mỗi cầu thủ phòng thủ khu vực có trách nhiệm bảo vệ 1 vùng khu vực, ngăn chặn bất kỳ ...
Gấu ở đâu khi đông về minion
Duới đây là những thông tin và kỹ năng và kiến thức về chủ đề gấu ở đâu khi gió đông về – minion hay nhất do chính tay đội ngũ Newthang biên soạn và ...
Khối lượng công việc nhiều tiếng Anh là gì
look forworktìm việclook for/apply for/go fora jobtìm/nộp đơn xin/thử xin việcget/pick up/complete/fill out/fill inan application (form)lấy/hoàn thành/điền mẫu đơn xin ...
Ý nghĩa của subnet mask là gì?
Nhắc đến Subnet Mask là nhắc đến khả năng chia sẻ nguồn lực mạng, nó giúp người dùng phân bổ mạng khoa học và hợp lý hơn. Bài viết sau của HostingViet ...
Kế toán có vai trò như thế nào đối với một đơn vị kinh tế
Kế toán là việc thu thập, kiểm tra, phân tích và cung cấp thông tin kinh tế, tài chính; dưới hình thức giá trị hiện vật và thời gian lao động. 2. Vai trò ...
Xuyên Thành Phản Diện Làm Sao để Sống Đây truyện tranh CHAP 70
Đọc bằng điện thoạiMục lụcXuyên Thành Phản Diện Làm Sao Để Sống Đây Bạn đang tìm hiểu thiếu nhi Truyện tranh xuyên thành phản diện làm sao để sống ...