.parent > div.root:has(+ * > *) > div:last-child {
< /code>
кажется, что работает; Но я бы признателен за обучение, если есть более чистая или более четкая нотация. то есть выберите его, когда его немедленное брат не имеет хотя бы одного узела ребенка? Но это не отображало ошибку; just didn't work.
I want to display the arrow-like div after the word "Root" only if there is at least one child in the class "paths" div.
Thank you.
.parent {
margin: 10px;
display: flex;
flex-flow: row nowrap;
}
.parent > div {
padding: 0.3rem 0.5rem;
}
.parent > .root {
border: 1px solid black;
display: flex;
flex-flow: row nowrap;
align-items: center;
}
.parent > div.root > div:last-child {
display: none;
border: solid black;
border-width: 0 0.2rem 0.2rem 0;
padding: 0.2rem;
width: 0.2rem;
height: 0.2rem;
transform: rotate(-45deg);
margin-left: 0.2rem;
}
.parent > div.root:has(+ * > *) > div:last-child {
display: block;
}
.parent > .paths {
min-width: 50px;
border: 1px solid black;
margin-left: 20px;
}< /code>
Root
child in paths
Root
В этом изготовленном примере эта линия < /p> [code].parent > div.root:has(+ * > *) > div:last-child { < /code> кажется, что работает; Но я бы признателен за обучение, если есть более чистая или более четкая нотация. то есть выберите его, когда его немедленное брат не имеет хотя бы одного узела ребенка? Но это не отображало ошибку; just didn't work. I want to display the arrow-like div after the word "Root" only if there is at least one child in the class "paths" div. Thank you.