Предположим, у моей веб-страницы есть такая страница:
<body>
<div id="fee">
<div id="fi">
<div id="actual_content">
<p>Content</p>
<div id="some_important_stuff">Blah</div>
<p>More content</p>
<span class="and_another_thing">Meh</span>
...
</div>
<div id="fo>
...
</div>
...
</div>
<div id="fum">
...
</div>
...
</div>
<div id="fazz">
...
</div>
...
</body>
Я хочу создать стиль CSS для печати, который скрывает все, кроме содержимого actual_content .
Моя первая попытка была такой:
body * {
display: none; /* Hide everything first */
}
/* Show content div and all of its ancestors */
body > #fee {
display: block;
}
body > #fee > #fi {
display: block;
}
body > #fee > #fi > #actual_content {
display: block;
}
/* Unhide contents of #actual_content */
#actual_content * {
display: block; /* Not ideal */
}
Однако, поскольку нет «display: auto» или «display: default», я путаю стили элементов actual_content , когда пытаюсь их отобразить. Мне также не нравится жесткое кодирование пути к actual_content , поскольку он может измениться.