2010-09-29 40 views
21

Làm cách nào để trừ chiều rộng trong CSS?Trừ chiều rộng CSS

Ví dụ:

width = 100% - 10px

Tôi không nói về đệm hoặc lề.

+0

@Kyle, xin lỗi nhưng 10px không phải là 10%. – Ruel

+0

@Kyle - sẽ không hoạt động. 10%! = 10px trừ khi vùng chứa là 100px. –

+0

Aha, tôi hiểu rồi ..Xin lỗi, đọc sai :) – Kyle

Trả lời

20

Bây giờ với calc giải pháp sẽ là:

width: calc(100% - 10px); 


Calc có thể sử dụng với Ngoài ra, trừ, nhân , Sư đoàn.

lưu ý khác:

Lưu ý: + và - nhà khai thác phải luôn được bao quanh bởi khoảng trắng. Ví dụ: Toán hạng của calc (50% -8px) sẽ được phân tách thành một tỷ lệ theo sau là độ dài âm, biểu thức không hợp lệ, trong khi toán hạng của calc (50% - 8px) là phần trăm theo sau là trừ ký hiệu và độ dài. Hơn nữa, calc (8px + -50%) được coi là chiều dài tiếp theo là dấu cộng và phần trăm âm. Các toán tử * và/ không yêu cầu khoảng trắng, nhưng thêm nó cho sự nhất quán là cho phép và được khuyến nghị.

+2

Khả năng tương thích với trình duyệt này là gì? – Mani

13

Đơn giản: bạn không thể thực hiện việc này. Bạn sẽ phải sử dụng một số cách giải quyết khác.

+0

Có sau khi tất cả tôi đang sử dụng ký quỹ. Cảm ơn Peter. –

2

Thực ra không có chức năng nào như vậy. Tất cả những gì bạn có thể làm là:

width:auto; 
margin-right: 10px; 

không phải là thứ bạn muốn.

+0

Có sau khi tất cả tôi đang sử dụng ký quỹ. Cảm ơn Thariama. –

2

Cách duy nhất để đạt được điều này là xây dựng CSS của bạn sử dụng LessCSS hoặc một công cụ tương tự và sau đó xử lý những tập tin này vào CSS được tạo ra - bạn không thể làm điều đó một cách nhanh chóng

+0

Tôi cố gắng sử dụng CSS tinh khiết, nhưng cảm ơn Nev –

12

Vâng, cho đến khi CSS3 calc() được phát hành vào tất cả các trình duyệt chính, tất cả những gì bạn phải làm là bọc một div với nhau và sử dụng một số lề-lề. HOẶC, bạn có thể sử dụng một số javascript, như đếm chiều rộng của màn hình và thiết lập chiều rộng của một div cho phù hợp.

+0

Có sau khi tất cả tôi đang sử dụng ký quỹ. Cảm ơn n1313. –

3

Bạn có thể làm điều này với SASS, nếu bạn đang sử dụng ngăn xếp hỗ trợ nó. Tôi chỉ biết Ruby, nhưng cũng có thể là những người khác.

SASS là mã kiểu CSS tạo CSS truyền thống, bạn có thể sử dụng các biến và v.v.

+0

Tham khảo tốt đẹp, cảm ơn Grant. –

+0

SASS rất tuyệt ... "chiều cao: 238 + 9 + px;" tạo ra "chiều cao: 247px;" trong tệp css đầu ra. – Ads

1

Thông thường, người ta sử dụng phương pháp động, tạo mã khi đang di chuyển. Ví dụ, trong PHP, khi viết phần CSS,

$width = $all - 10; 
echo 'width:' . $width . 'px;'; 
+0

Có, chúng tôi có thể làm điều đó với PHP, nhưng tôi không xử lý phần phía máy chủ. Hơn nữa, tôi có nhiều yếu tố muốn được áp dụng. Cảm ơn ring0. –

Các vấn đề liên quan