2013-06-16 31 views
5

Ví dụ: width: 50% + 10px; hợp pháp trong CSS?Hoạt động số có được phép trong CSS không?

Nếu không, cách khắc phục sự cố này? Tôi đang làm việc trên các phần tử float với nhiều cột, chiều rộng giữa mỗi cột là 10px. Vì vậy, tôi cần một tính toán chiều rộng động để có được xung quanh kích thước màn hình.

+2

Có 'calc() 'nhưng hỗ trợ trình duyệt không phải là lên đến đầu. – BoltClock

+0

Lý tưởng nhất là bạn nên xem 'LESS' và 'SASS' cho kiểu triển khai này trong css. –

Trả lời

6

Không. Nếu bạn muốn toán bằng CSS, hãy xem xét SASS hoặc LESS.

Và nếu bạn định sử dụng LESS (hoặc SASS) và bạn muốn các cột có khoảng cách đều nhau, Bootstrap responsive giống như những gì bạn cần.

5

Bạn có thể thử calc

selector{ 
    width: -moz-calc(50% + 10px); 
    width: -webkit-calc(50% + 10px); 
    width: calc(50% + 10px); 
} 
1

Xem bài trước này: Is it possible to do mathematics inside CSS?

Nó là không thể trực tiếp từ CSS. Nhưng người ta có thể sử dụng, ví dụ, LESS. Hoặc bạn có thể sử dụng javascript để làm động.

Nhưng vì điều này là để tính toán màn hình, do đó, pleace hãy xem thiết kế mang tính resposive là gì. Đã có một số khung công tác cho việc này. Tôi sẽ không nói rằng một trong những tốt hơn so với những người khác ở đây .. Nhưng hãy xem http://designpin.co/5-responsive-web-design-frameworks/

Và xem điều gì phù hợp với nhu cầu của bạn.

3

Nghe có vẻ giống như những gì bạn thực sự cần là margin:

Nếu không, làm thế nào để có được xung quanh vấn đề này? Tôi đang làm việc trên các phần tử float với nhiều cột, chiều rộng giữa mỗi cột là 10px. Vì vậy, tôi cần một tính toán chiều rộng động để có được xung quanh kích thước màn hình.

.colItem { float: left; margin-right: 10px; } 

chiều rộng của bạn có lẽ không nên thực sự là 50% trong trường hợp đó, như hai cột ngồi cạnh nhau sẽ rune tất cả mọi thứ (50% + 50% + 20px lề> 100%). Bạn có thể không thực sự muốn 10px, nhưng 1% hoặc một cái gì đó.

Một giải pháp tốt hơn, có lẽ, là sử dụng đệm với thuộc tính hộp-sizing:

.colItem 
{ 
    float: left; 
    width: 50%; 
    box-sizing: border-box; 
    -moz-box-sizing:border-box; 
    padding-right: 10px; 
} 
.colItem.last 
{ 
    padding-right: 0px; 
} 
+1

+1 cho đề xuất hộp viền. Nhưng vì lợi ích của Pete, hãy xóa liên kết khỏi cửa sổ bật lên của bạn càng sớm càng tốt, để tránh làm hoành hành đám đông đổ xuống sau bài đăng của bạn và downvoting nó thành lãng quên. –

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