2017-10-20 62 views
1

假設您有10個HTML元素,ID爲1到9;元素1有id="1"等。這就是我想要做的。 「(IdNumber)」不在語法中,僅用於說明:如何訪問CSS括號內的選擇器結果?

// for all elements 
#(IdNumber) {width: (IdNumber)%;} 

所以最終結果應該使每個元素的寬度等於它的id;第一個元素的寬度是1%等。我想使用一個未指定的CSS選擇器的結果,就像這裏它是id字符串一樣,在括號內作爲一個值。

+0

我假設元素和Ids是以某種方式生成的(js或服務器代碼)?那一代是否可以使用內聯樣式來重用Id和Width的變量? – wunth

+0

https://stackoverflow.com/questions/9523197/css-values-using-html5-data-attribute – wunth

回答

0

(少用),你可以通過以下實現: EG HTML:

<div id="MyDiv"> 
    <div id="MyDiv1"></div> 
    <div id="MyDiv2"></div> 
</div> 

LESS:

#MyDiv{ 
    width:500px; 
    height:200px; 
    border:red 1px solid; 
    #MyDiv1{ 
    width: 10%; 
    height:20px; 
    border:red 1px solid; 
    } 
} 
.setWidth{ 
    width: 20%; 
} 
#MyDiv2{ 
    .setWidth; 
    height:30px; 
    border:red 1px solid; 
} 
0

您可以在CSS使用屬性選擇,但你應該寫的風格爲每id分開,對於eaxmple:

Html:

<div id="1"></div> 
<div id="2"></div> 
<div id="3"></div> 
<div id="4"></div> 

的CSS:

<style> 
    div { 
     background-color: blueviolet; 
     margin: 10px; 
     border: 1px solid gray; 
     height: 30px 
    } 
    [id="1"] { 
     width: 1%; 

    } 
    [id="2"] { 
     width: 2%; 
    } 
    [id="3"] { 
     width: 3%; 
    } 
    [id="4"] { 
     width: 4%; 
    } 
</style> 

我希望它是有用的。

+0

我現在怎麼做它分開。但我想一起做。 –

1

它應該是這樣的:

@for $w from 1 through 9 { 
    ##{$w} { 
    width: unquote('#{$w}%'); 
    } 
} 

但我強烈鼓勵也前綴您的ID與某些字符,因爲在純數字ID是allowed in html5,這是不是這樣的HTML4,它通常會導致問題,因爲純數字身份證不能與數字區分開來。