Bestimmten div drucken

Das verstehe ich. Ich dachte vllt. hat jemand eine Idee. Wie man das sonst lösen kann.

Kann es sein, dass du das Attribut "class" nicht kennst?

Ein (invalides) Beispiel:
HTML:
<html>
<head>
<style>

  .hide
  {
    display: none;
  }

</style>
</head>
<body>

<p class="hide">Ich versteck mich,</p>
<p>ich bin sichtbar,</p>
<p class="hide">und ich bin nicht da!</p>

</body>
</html>

Die Elemente denen "hide" zugeordnet wurde sieht man nicht.
 
Browserunterstützung für den Selektor für benachbarte Elemente vorausgesetzt:
HTML:
<html>
<head>
<title>drgrg</title>
<style type="text/css">
<!--
  body * {display:none;}
  body .test, body .test * {display:block;}
  body .test span#g + span {display:none;}
-->
</style>
</head>
<body>
 <span>hfgf</span>

 <div class="test">
   <span id="g">muh
                <span>gh</span>
                <span class="test">bla</span> <!-- Achtung: Ein <div> (=Block-Element) ist in einem <span> (=Inline-Element) nicht zulässig! -->
   </span>
   <span>fhg</span>
 </div>

</body>
</html>


Ansonsten wirst du im Falle des IE, der diesen Selektortyp auch in der aktuellen Version "8" noch immer nicht unterstützt, die Elemente mit einem Klassenbezeichner ausstatten müssen, damit es browserübergreifend mit ihrer Ausblendung funktioniert (siehe Zods Beispiel mit der Klasse .hide).

mfg Maik
 
Kann es sein, dass du das Attribut "class" nicht kennst?

Ein (invalides) Beispiel:
HTML:
<html>
<head>
<style>

  .hide
  {
    display: none;
  }

</style>
</head>
<body>

<p class="hide">Ich versteck mich,</p>
<p>ich bin sichtbar,</p>
<p class="hide">und ich bin nicht da!</p>

</body>
</html>

Die Elemente denen "hide" zugeordnet wurde sieht man nicht.

Und was ist wenn in dem hidden element ein Element steht, das ich anzeigen will ?
 
Hab ich gestern schon in Post #10 erläutert.

Aber nochmal zum Mitschreiben: Kinderelemente eines versteckten Elternelements können nicht sichtbar geschaltet werden - eigentlich logisch, oder?!

Stattdessen müsstest du in dem Elternelement ausschliesslich die benachbarten Elemente ausblenden, die nicht gedruckt werden sollen - siehe hierzu mein Beispiel in Post #14.

mfg Maik
 
EDIT: Hier steht nix sinnvolles:

Dann machst du das was du bisher gemacht hast.

Wenn du alle anzeigen willst das übliche hinzufügen:
HTML:
.hide * { display: block; }

Und wenn nur einzeln, dann eine neue Klasse schaffen:
HTML:
.show { display: block; }

Es geht beides (egal wie unsinnig):
HTML:
.hide *, .show { display: block; }
 
Zuletzt bearbeitet:
@Zod: Hast du schon mal deinen vermeintlichen Lösungsvorschlag überprüft?
HTML:
<html>
<head>
<style>

  .hide
  {
    display: none;
  }
.hide *, .show { display: block; }

</style>
</head>
<body>

<p class="hide">Ich versteck mich, <span class="show">und ich nicht, wenn ich denn könnte.</span></p>
<p>ich bin sichtbar,</p>
<p class="hide">und ich bin nicht da!</p>

</body>
</html>


mfg Maik
 
Woah! Gedankenfurz.
Das Püree aus der Mensa zirkuliert gerade in meinem Kopf.
Sorry, kann man natürlich nicht einfach überschreiben.
 
Der letzte Ausgangspunkt war ja dass ein test - div darüber liegt. Warum dann nicht einfach wieder den test-div sichtbar machen und dessen childs verstecken.
HTML:
<html>
<head>
<title>drgrg</title>
<style type="text/css">
<!--
	body * { display:none; }
	.test { display:block; }
	.test * { display: none; } 
	#g { display:block !important; }
	#g * { display:block !important; } 
-->
</style>
</head>
<body>
 <span>Ich versteck mich</span>
 <div class="test">
   <span id="g">Juhuu ich werde gedruckt
                <span> - wunderbar</span>
                <div class="test">Ich bin auch auf dem Druck!</div>
   </span>
   <span>Immer die Diskrimierung der nicht g-SubTags</span>
 </div>
</body>
</html>
 
Zurück