LESS は、バグなしで次の CSS に変換する必要があります。
td input[type=text] {
width: 100px;
}
td input[type=text]:nth-child(2) {
width: 40px;
}
ただし、テキスト入力の兄弟として他の要素がある場合、同じ種類の他の要素だけでなく、同じ親の他のすべての兄弟に対する要素の位置のみを調べるため、これらは:nth-child()宣言に干渉している可能性があります (つまり、 )。たとえば、2 番目の子として があった場合、その場所はラベルによって取得されているため、入力は 2 番目の子ではなくなります。:nth-child()input[type=text]label
あなたの中にある唯一の入力tdがすべてである場合、代わり[type=text]に使用して逃げることができるはずです::nth-of-type()
// LESS
td {
input[type=text] {
width: 100px;
&:nth-of-type(2) {
width: 40px;
}
}
}
/* CSS */
td input[type=text] {
width: 100px;
}
td input[type=text]:nth-of-type(2) {
width: 40px;
}
ただし、属性inputではなく要素名のみを参照することを覚えておいてください。[type=text]
または、テキスト入力が 2 つしかないことがわかっている場合は、代わりに一般的な兄弟セレクターを使用して、最初の入力に続くものを取得できます。
// LESS
td {
input[type=text] {
width: 100px;
& ~ input[type=text] {
width: 40px;
}
}
}
/* CSS */
td input[type=text] {
width: 100px;
}
td input[type=text] ~ input[type=text] {
width: 40px;
}