2014-09-16 16 views
7

Đôi khi tôi muốn đặt phần đệm trên cùng và dưới cùng một cách rõ ràng trên một phần tử nhưng để lại phần đệm trái và phải cho mặc định trình duyệt không thay đổi. Tôi biết tôi có thể viếtLàm thế nào để thiết lập chỉ đệm dọc?

.myElement { padding-top: 20px; } 
.myElement { padding-bottom: 20px; } 

nhưng cách này tôi cần phải lặp lại cả bộ chọn .myElement và giá trị chiều dài gấp đôi - hay đúng hơn là sao chép và dán toàn bộ dòng và chuyển đổi trái với quyền. Tôi đã hy vọng tìm thấy một cái gì đó ít dư thừa, vì vậy tôi đã cố gắng sử dụng padding với hai giá trị và thay thế chiều dài thứ hai bằng inherit. Đó không phải là tốt CSS, tôi biết, nó là một nỗ lực, nhưng nó không hoạt động hoặc (bộ đệm ngang 0):

.myElement { padding: 20px inherit; } 

Xem ở đây: http://jsfiddle.net/185ty3yp/

Bất cứ lời khuyên làm thế nào để làm điều đó tốt hơn ?

Trả lời

5

Nếu tôi hiểu những gì bạn muốn: bạn đang tìm cách chỉ gán đệm dọc với thuộc tính padding (và giữ nguyên đệm ngang ban đầu nếu được đặt).

Vì vậy, bạn đã có câu trả lời:

.myElement { padding-top: 20px; padding-bottom: 20px; } 

Bạn không thể làm điều đó chỉ với padding tài sản, hoặc bạn sẽ cần phải thiết lập giá trị ngang.

Hoặc, bạn có thể xem xét sử dụng Trình xử lý trước CSS (chẳng hạn như Sass hoặc Ít hơn), nó chắc chắn sẽ giúp bạn đạt được điều này.

+3

Dường như với tôi rằng bạn là người duy nhất thực sự đọc toàn bộ câu hỏi. – Butt4cak3

+0

Như tôi thấy câu trả lời khác, tôi chỉ có thể đồng ý với bạn. – enguerranws

0

thử mã này DEMO

#ul1, #ul2 { 
    background-color: cyan; 
    padding-top: 20px; 
    padding-bottom: 20px; 
} 

#ul2 { 
    background-color: yellow; 
} 
0

Bạn có thể thử như thế này

padding: 20px 50px 75px 100px; 

//top padding is 20px 
//right padding is 50px 
//bottom padding is 75px 
//left padding is 100px 

Trong trường hợp của bạn, bạn có thể áp dụng như thế này nếu người ta thường cho bất kỳ ul

ul 
{ 
    padding-top: 20px; 
    padding-bottom: 20px; 
} 

bất kỳ những nơi cụ thể bạn có thể ghi đè lên css này.

séc Demo

2
#ul1, #ul2{ 
    padding:20px 0; /* top and bottom 20px, left and right 0 */ 
} 

http://www.w3schools.com/css/css_padding.asp

bạn chỉ có thể đặt đệm hoặc là một chiều dài cố định hoặc một phần trăm, không có giá trị khác tôi sợ

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