2011-08-30 58 views
20

Điều này có vẻ như một câu hỏi ngu ngốc như vậy nhưng tôi không thể tìm thấy câu trả lời ở bất kỳ đâu.Đặt cùng một giá trị cho nhiều thuộc tính (CSS)

Có cách nào để thiết lập nhiều thuộc tính CSS để một giá trị

border-left, border-right: 1px solid #E2E2E2; 

cách mà bạn có thể làm với selectors?

.wrapper, .maindiv { ... } 
+2

Không, nhưng [Sass] (http://sass-lang.com /) biến có thể giúp bạn gần gũi. Nghĩ lại thì, bạn nên đề xuất điều này cho phiên bản SASS tiếp theo. Điều tồi tệ nhất có thể xảy ra là ý tưởng của bạn bị từ chối. –

+0

cuộc gọi tốt, tôi đã viết cho lesscss thay vì –

Trả lời

14

Không. Nhưng ví dụ, bạn có thể làm điều này:

border: solid #E2E2E2; 
border-width: 0 1px; 

Các thuộc tính mà có thể có giá trị riêng biệt cho top, right, bottom, và để lại (ví dụ, border- *, lợi nhuận, đệm) có thể thường được kết hợp trong một thuộc tính duy nhất.

+5

Xin chúc mừng câu trả lời của bạn là hiệu quả nhất bởi 5 byte –

4

Không thể, trừ khi bạn làm:

border: 1px solid #E2E2E2; 

đồi khế, đồi bộ biên giới như nhau trên tất cả các bên. Nếu bạn muốn kiểm soát chúng riêng lẻ, bạn phải viết chúng như là các câu lệnh riêng biệt.

Lưu ý rằng trong một số trường hợp, bạn có thể đặt nhiều giá trị cho một thuộc tính, nhưng bạn không thể có nhiều thuộc tính với một giá trị trong một tuyên bố.

4

Không thể với đồng bằng css, nhưng bạn có thể xem scss hoặc less có thể có giải pháp cho sự cố của bạn.

Một giải pháp với css đơn giản như sau:

border: 1px solid #E2E2E2; 
border-width: 0px 1px; 
+0

Tôi đã xem xét kỹ lưỡng trước đó. Nó không phải là một vấn đề lớn, tôi chỉ tò mò :) cảm ơn. –

2

Nếu các thuộc tính có liên quan, như là trường hợp với border-leftborder-right, thường có một thuộc tính phổ biến mà cho phép bạn cài đặt chúng:

border: 1px solid #e2e2e2; 

Mặt khác, có một số thư viện như là Less CSS ngoài đó mở rộng CSS để bạn có thể dễ dàng nhóm các thuộc tính và thuộc tính liên quan.

1

CSS không cho phép kiểm soát như vậy. Giải pháp thay thế là sử dụng quy tắc lớn hơn, sau đó hạn chế quy tắc đó, sau đó hạn chế quy tắc đó:

border: 1px solid #E2E2E2; 
border-top: 0; 
border-bottom: 0; 

Nhưng bạn kết thúc bằng nhiều mã hơn. Một giải pháp khác là sử dụng CSS "biên dịch", như SASS hoặc Less

2

Nếu bạn đang sử dụng sass, hãy thử này:

@mixin border($properties , $value){ 
    @each $property in $properties{ 
     border-#{$property}: $value; 
    } 
} 

selector{ 
    @include border(left right, 1px solid #E2E2E2); 
} 
Các vấn đề liên quan