다음과 같은 CSS로 변환해야합니다 귀하의 이하 : 그러나
td input[type=text] {
width: 100px;
}
td input[type=text]:nth-child(2) {
width: 40px;
}
당신이 당신의 텍스트 입력의 형제 자매와 같은 다른 요소가있는 경우, 이러한 :nth-child()
만 보이는대로 :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]
속성이 아닙니다.
또는 당신은 단지 당신이 가 첫 번째 입력 다음에 하나 잡아 대신 일반 형제 선택기를 사용하여 두 개의 텍스트 입력을해야합니다 알고있는 경우 :
// 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;
}
시간을 필요는 없습니다 LESS로 테스트 할 수 있지만 가능한 해결 방법은 중첩 대신'input [type = text] : nth-child (2)'를 사용하는 것입니다. 그럼, 여전히 작동하지 않는 경우, 그것은 선택기 버그입니다. 그럴 경우 사용중인 LESS 프로그램의 버그 일 수 있습니다. – 0b10011