直接制御できない HTML マークアップのスタイルを設定する必要があり、関連する div のサブセットのみを表示し、他のすべてを非表示にしようとしています。
スタイルを設定する div
<div id="spam_and_ham_mix">
Irrelevant, looooooooong text (--> should be hidden)
<div id="ham">Important stuff (--> should be visible)</div>
</div>
望ましい結果
「重要なもの」だけを表示し、それ以外はすべて非表示にしたいと考えています。
1 回目の試行
#spam_and_ham_mix { display:none; } /* CSS-Weight 100 */
#spam_and_ham_mix #ham { display:block; } /* CSS-Weight 200 */
結果: div は完全に非表示のままで、何も表示されません。
2回目の試行
#spam_and_ham_mix { visibility:hidden; } /* CSS-Weight 100 */
#spam_and_ham_mix #ham { visibility:visible; } /* CSS-Weight 200 */
結果: 無関係なテキストは表示されませんが、表示されている場合と同じスペースが必要です (これは CSS 仕様に沿っていますが、望ましい結果ではありません)。
質問
私はそれについて何ができますか?
CSS のみのソリューションを探しています (可能であれば)。