Здравствуйте, на данный момент я пытаюсь включить SVG в качестве основного формата отображения для моего приложения. Однако я обнаружил довольно странное поведение, когда дело доходит до атрибута видимости. С учетом этого примера:Поведение g-элемента SVG и атрибута видимости
<svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg">
<g id="visibility-test">
<rect x="100" y="0" height="140" width="40"/>
<rect x="0" y="100" height="40" width="140" visibility="visible"/>
</g>
</svg>
Это ведет себя так, как ожидалось. Два прямоугольника видны. Теперь я хочу, чтобы сделать всю группу я установить видимость г-элемент скрыт, как, например:
<svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg">
<g id="visibility-test" visibility="hidden">
<rect x="100" y="0" height="140" width="40"/>
<rect x="0" y="100" height="40" width="140" visibility="visible"/>
</g>
</svg>
Если вы посмотрите на это в браузере скрывает один прямоугольник (тот, без какого-либо атрибута), но один с атрибутом видимости остается видимым. Я бы ожидал поведения, когда затронута видимость всей ветви, но родительский элемент.
Есть ли способ достичь такого поведения, не изменяя видимость когда-либо ребенка?
дисплей работает таким образом дисплей = "нет" vs display = "block" –