2016-04-29 38 views
6

LESS相對較新,並嘗試嵌套如何工作。我已經閱讀了較少頁面上的內容。我將如何在LESS中定位一個類中的ID?

HTML

<!DOCTYPE html> 

<html> 
<head class="Setup"> 
    <link rel="stylesheet/less" type="text/css" href="../LESS/core.less"/> 
</head> 
<div class="Test"> 
    <span id="Test1" class="Test2"></span> 
</div> 
</html> 

LESS

.Test2 { 
    display: block; 
    #Test1 { 
     .background1; 
     width: 40px; 
     height: 1000px !important; 
    } 
} 

,但如果我把它寫沒有它的工作原理

.Test2 { 
    display: block; 
} 

#Test1 { 
    .background1; 
    width: 40px; 
    height: 1000px !important; 
} 

裝置技術領域的嵌套只是{背景:紅色;}。這個概念剛剛搞亂了我的腦海嗎?

回答

10

嵌套問題和不匹配的標記

嵌套通常表示一個特定的元素將出現另一個元素下,所以你當前的代碼有正確的想法。

當前您的嵌套示例將嘗試將具有「Test1」的id的元素作爲目標,該元素嵌套在具有類「Test2」的元素下面,該元素與標記不同。

如果你想使用相同的標記來定位元素,考慮你最.Test2選擇更改爲.Test代替:

/* This will target an element with id "Test`" below an element with class "Test" */ 
.Test { 
    display: block; 
    #Test1 { 
     width: 40px; 
     height: 1000px !important; 
    } 
} 

你可以看到這是如何翻譯成以下CSS:

enter image description here

背景檢查您的語法

此外,您使用的.background選擇器似乎存在問題。你是否想要像下面的例子那樣在你的「Test2」元素下面添加一個樣式?

.Test { 
    display: block; 
    #Test1 { 
     .background{ 
      width: 40px; 
      height: 1000px !important; 
     } 
    } 
} 

這將編譯如下:

enter image description here

+0

的.background1只是在予加 .background1 { 背景的混合:紅色; } 謝謝,這有助於清理我的頭 – Gensoki

+0

啊。我不太確定,因爲我沒有看到它的定義,所以我認爲這是一個錯字。 –

相關問題