2012-04-17 32 views
7

Tôi chỉ tự hỏi nếu bạn không thay đổi các giá trị, hãy hover, activefocus tự động kế thừa cài đặt từ thẻ tiêu chuẩn a?Trạng thái di chuột, đang hoạt động, tiêu điểm có kế thừa giá trị không?

Ví dụ:

.wrapper .left .main .row .holder .more a, 
#content .wrapper .left .main .row .holder .more a:visited 
{ 
    width: 92px; 
    min-width: 92px; 
    max-width: 92px; 
    height: 23px; 
    min-height: 23px; 
    max-height: 23px; 
    display: block; 
    margin: 0px auto; 
    background: #fff url(../images/more-info-btn.png) top left no-repeat; 
} 

#content .wrapper .left .main .row .holder .more a:hover { 
    width: 92px; 
    min-width: 92px; 
    max-width: 92px; 
    height: 23px; 
    min-height: 23px; 
    max-height: 23px; 
    display: block; 
    margin: 0px auto; 
    background: #fff url(../images/more-info-btn.png) bottom left no-repeat; 
} 

Sẽ dưới đây làm điều tương tự?

#content .wrapper .left .main .row .holder .more a, 
#content .wrapper .left .main .row .holder .more a:visited 
{ 
    width: 92px; 
    min-width: 92px; 
    max-width: 92px; 
    height: 23px; 
    min-height: 23px; 
    max-height: 23px; 
    display: block; 
    margin: 0px auto; 
    background: #fff url(../images/more-info-btn.png) top left no-repeat; 
} 

#content .wrapper .left .main .row .holder .more a:hover { 
    background: #fff url(../images/more-info-btn.png) bottom left no-repeat; 
} 
+3

Chúng không chính xác "kế thừa" các giá trị, vì kế thừa trong CSS đề cập đến việc lấy kiểu từ phần tử gốc. Thay vào đó, các giá trị được * cascaded *, hoặc lấy từ quy tắc 'a' chung (khó hiểu, tôi biết). Tuy nhiên, bạn có ý tưởng đúng ở đây. – BoltClock

Trả lời

5

Có đúng, trạng thái giả kế thừa giá trị.

Vì mục đích nhất quán, cách tốt nhất là chỉ khai báo các kiểu mà bạn đang thay đổi trong quy tắc nhà nước psuedo của bạn.

Với đoạn mã sau, văn bản sẽ luôn là font-size:1.9em, với padding-top:10px bất kể :hover nhà nước:

a 
{ 
    color:red; 
    font-size:1.9em; 
    padding-top:10px; 
} 

a:hover 
{ 
    color:green; 
}​ 

-- SEE EXAMPLE --

1

Không, bởi vì một yếu tố a tại một trong những quốc gia vẫn là một a và một phần tử không thể kế thừa từ chính nó. Nhưng bất kỳ cài đặt nào có a làm công cụ chọn cũng áp dụng khi phần tử ở một trong các trạng thái.

Vì vậy, khi bạn muốn một số thuộc tính áp dụng cho a yếu tố ở tất cả các trạng thái, thì nó đủ để đặt chúng bằng cách sử dụng bộ chọn a.

Về mặt kỹ thuật, hai bộ quy tắc trong câu hỏi của bạn không tương đương, do sự khác biệt về bộ chọn, điều này ảnh hưởng đến độ đặc hiệu. Các tình huống mà vấn đề này rất quan trọng và sẽ liên quan đến các quy tắc khá đặc biệt trong các bảng định kiểu khác đang được áp dụng.

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