2013-04-24 33 views
13

Tôi có mã CSS bên dưới trong một số tệp CSS của cổng Web Liferay.html> biểu hiện trong CSS là gì?

html> có ý nghĩa gì? Khi nào nên sử dụng?

.lfr-dockbar-pinned { 
    .dockbar { 
     left: 0; 
     position: fixed; 
     right: 0; 
     top: 0; 
    } 

    .pin-dockbar img { 
     background-image: url(../images/dockbar/unpin.png); 
    } 
} 

html > .lfr-dockbar-pinned { 
    padding-top: 3.45em; 
} 
+0

Tò mò tại sao người ta chọn 'html> .lfr-dockbar-pinned' - đó là lớp được gắn với phần tử' body'? – BoltClock

+0

Có được gắn với phần tử 'body'. Đây là mã - ''. Không chắc chắn lý do tại sao họ (Liferay) đã làm như vậy .. –

+0

@VikasV Có lẽ đó là một mẫu joomla –

Trả lời

2

Nó đại diện cho một phần tử là hậu duệ trực tiếp của phần tử html (Như @adrian đã nói).

Nói cách khác, nó sẽ chọn tất cả các yếu tố trong đó yếu tố phụ huynh là <html> mà trong trường hợp này sẽ chỉ <body>

Vì vậy, ví dụ

div > p { 
    /* This will select all p elements where parent is div */ 
} 
+0

Câu trả lời của bạn có vẻ không đầy đủ. Thông thường bạn không mở với "Nói cách khác" - biểu thức đó có nghĩa là bạn đã cố gắng nói điều gì đó theo một cách, sau đó bạn nói nó "nói cách khác" theo một cách khác. – BoltClock

+0

@BoltClock Done :) –

1

Nó chọn phần tử con.

Ví dụ: body> p chọn tất cả < p> các phần tử là phần tử con trực tiếp của phần tử.

1

Với mã này (từ bình luận của bạn):

<body class="... lfr-dockbar-pinned ..."> 

Trong trường hợp này nó phân biệt giữa cơ thể, khi nó có lớp lfr-dockbar-pinned, và một yếu tố có cùng lớp. Điều này cho phép áp dụng kiểu dáng khác nhau cho từng yếu tố đó.

+0

Nhưng 'body' là hậu duệ trực tiếp của' html'. – BoltClock

+0

Đây là trường hợp duy nhất thực sự có ý nghĩa. '' và '' phải là các chỉ tiêu DIRECT duy nhất của '', do đó, thời gian duy nhất áp dụng là khi thẻ '' có một lớp. (Trong trường hợp này 'lfr-dockbar-pinned') –

+0

BoltClock, bạn nói đúng. Tôi ngay lập tức bối rối ở đó. – isherwood