display:none aufheben
Max
- css
0 dr.colossos0 Max0 dr.colossos0 Max0 dr.colossos0 IChao
0 MudGuard
hallo,
ich habe ein kleines problem! ich versuche ein alternatives styleheet für eine präsentation einer webseite zu machen und möchte dafür nur einige bereiche der seite einblenden die ich mit div-tags gekennzeichnet habe!
danach habe ich per css den kompletten inhalt mit display:none gekennzeichnet!
nun bekome ich es aber leider nicht hin die einzelnen div-elemente wieder sichtbar zu machen!
#bodyContent {
margin-left: .5em;
display:none;
}
#present {
display:inline;
}
war meine lösung, aber wie gesagt funktioniert sie nicht
die divs sind so angeordnet:
<bodyContent>
<present>
</present>
<present>
</present>
</bodyContent>
ich würde mich über eure hilfe freuen
gruß max
Hi,
versteh ich nicht ganz.
Wenn du (das div?) bodyContent ausbelndest, dann siehst du die Kindelemente natürlich nicht ... auch wenn die display:inline haben.
Einblenden könntest sie wieder via JavaScript.
Pdeudo-Code:
bodyContent.display = '';
Oder versteh ich dich falsch?
Wenn du (das div?) bodyContent ausbelndest, dann siehst du die Kindelemente natürlich nicht ... auch wenn die display:inline haben.
aber genau diese will ich ja wieder eingeblendet haben!
Einblenden könntest sie wieder via JavaScript.
Pdeudo-Code:
bodyContent.display = '';
muss ich den java-code dann einfach am seitenanfang der Seite einstellen? Meine JS Kentnisse sind nicht die besten: müsst ich dann jegliche sichtbarkeit darüber laufen lassen oder reicht es die div-tags damit wider einzblenden?
Danke schonmal für die hilfe
Hi,
okay, wenn Seite1 aktiv, dann die <bodyContent>s ausblenden, bei Seite2 einblenden, richtig?
Mit was erstellst du die Seiten, ist das schon fertiges HTML oder machst du das über PHP o.ä.?
Was aufjeden fall funktionieren sollte.
'<body>' ändern zu '<body onload="showElements();">'
Im html-head tag ein script-tag einbinden, siehe selfthtml o.ä.
function showElements()
{
if(bedingungFuerAnzeige == true) // bedingungFuerAnzeige weist nur du
document.getElementById('bodyContent').style.display = '';//oder statt '', 'inline', 'block' o.w.i.d.a.w [= oder was immer du auch willst :)])
}
ich habe es nun mal anders versucht:
ich habe folgendes script: <script type= "text/javascript"> function present() { document.getElementById('bodyContent').style.display = 'none'; document.getElementById('tagpresent').style.display = 'block';//oder statt '', 'inline', 'block' o.w.i.d.a.w [= oder was immer du auch willst :)]) } </script>
welches bei <body onload="present()"> geladen wird!
aber das zweite div tag wird immernoch nicht angezeigt! also nochmal mein aufbau: <div-tag der ausgeblendet wurde> <div-Tag der wieder eingeblendet werden soll> text der erscheinen soll </div-Tag der wieder eingeblendet werden soll> </div-tag der ausgeblendet wurde>
wo liegt mein fehler?
Hi,
ehh, genau da wo ich vorher gesagt habe wo er ist ... hab dich also doch richtig verstanden.
Es geht NICHT dass du ein div anzeigst, das Kind von einem div ist, dass du versteckst.
Kannst mal den Code posten?
tagpresent darf kein Kind von bodyContent sein ...
wo liegt mein fehler?
Dein Denkfehler liegt darin, dass du denkst, die display:none-Box würde noch Kindelemente generieren.
CSS 2.1: 9.2.4 The 'display' property
...
none
This value causes an element to generate no boxes in the formatting structure (i.e., the element has no effect on layout).
Descendant elements do not generate any boxes either; this behavior cannot be overridden by setting the 'display' property on the descendants.
Hi,
danach habe ich per css den kompletten inhalt mit display:none gekennzeichnet!
nun bekome ich es aber leider nicht hin die einzelnen div-elemente wieder sichtbar zu machen!
Natürlich nicht.
Wenn Du ein Element per display:none ausblendest, sind alle Kind-Elemente auch ausgeblendet, egal was Du bei den Kind-Elementen angibst.
Laß das Eltern-Element eingeblendet und blende alle Geschwister-Elemente aus.
cu,
Andreas