div container und inner.HTML
hilflos
- javascript
Hallo,
ich will von <table> auf <div> umstellen.
(man sagte mir, dies sei der bessere Stil)
und nun habe ich das Problem:
bei inner.HTML = text; wird ist der rechte Borderrand weg.
Bei <table> klappt es. <div class="hinweis" habe ich in der index.php sowie in der system.js ausprobiert. immer das gleiche, haut nicht hin.
Warum?
wie kann man innerhalb einer <div> die Abstände ändern. (1.leerzeile)?
der aufruf erfolgt durch:
<a href='db/index.php' onclick="return toggle_visibility(0,1,5)" onmouseover...></a>
Aufbau:
in der system.js
var hinweis = [];
hinweis[0] = "fehlende Berechtigung";
hinweis[1] = "Diese Funktion ist gesperrt.";
var warum = [];
warum[0] = "Wartungsarbeiten...";
warum[1] = "Nicht registrierter User";
warum[2] = "Bitte melde Dich an.";
var toggle= " ";
function is_user(a,b,t){
if(user_id){toggle_visibility(a,b,t); return false
}
return true
}
function toggle_visibility(a,b,t){
container = document.getElementById("hinweis");
display = container.style.display;
if (display == 'none'){
container.style.position = "absolute";
container.style.left = (width-480)/2+"px";
container.style.top = 200+"px";
text ="<div class='hinweis'><b>Systeminformation: Hinweis</b></p>";
text +="<b>Status: </b>"+hinweis[a]+"<center></p>"+warum[b]+"</p>";
text +="<button onclick='toggle_hidden()'>schliessen</button></p><center></div>";
document.getElementById ('hinweis').innerHTML = text;
container.style.display = 'block';
if(t > 0){
toggle = window.setTimeout('toggle_hidden()',t*1000)
}
}
return false
}
function toggle_hidden(){
clearTimeout(toggle);
document.getElementById("hinweis").style.display = "none";
toggle=" ";
return false
}
in der style.css
div{
margin: 0 auto;
padding: 0px;
border: 0;
border-style: none;
border-collapse:collapse
}
div#center{
align:center;
vertical-align: middle;
}
div#oben{
vertical-align: top;
}
div#unten{
vertical-align: bottom;
}
.hinweis{
width: 480px;
background-color:#f0f8ff;
margin: 0 auto;
padding: 14px
border-right : 3px ridge #87cefa;
border-top : 3px ridge #87cefa;
border-left : 3px ridge #87cefa;
border-bottom : 3px ridge #87cefa;
-moz-border-radius: 20px;
-webkit-border-radius: 20px;
border-radius: 20px;
border-collapse:collapse
}
.border{
border-right : 3px ridge #87cefa;
border-top : 3px ridge #87cefa;
border-left : 3px ridge #87cefa;
border-bottom : 3px ridge #87cefa;
-moz-border-radius: 20px;
-webkit-border-radius: 20px;
border-radius: 20px;
border-style: ridge;
border-collapse:collapse
}
in der index.php
<head>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
<meta name="MSSmartTagsPreventParsing" content="true" />
<link rel="stylesheet" type="text/css" href="../css/style.css">
<script language="JavaScript" type="text/javascript" src="../js/system.js"></script
</head>
<body>
<div id="hinweis" style="display:none;"></div>
</body>
Om nah hoo pez nyeetz, hilflos!
ich will von <table> auf <div> umstellen.
(man sagte mir, dies sei der bessere Stil)
Du hast dann zunächst einmal kein Javascript-Problem, sondern ein CSS-Problem.
Möglicherweise hast du auch falsche Vorstellungen vom "umstellen". Es macht keinen Sinn, das Tabellenlayout durch div-Elemente nachzubauen.
Umstellen bedeutet: Zeichne den Code semantisch sinnvoll aus, beispielsweise eine Liste durch <ul> und mach dir hinterher erst Gedanken um das Aussehen.
Matthias
Hallo,
ich will von <table> auf <div> umstellen.
(man sagte mir, dies sei der bessere Stil)
Du hast dann zunächst einmal kein Javascript-Problem, sondern ein CSS-Problem.
nein, so wie du es auch weiter ausführst, hat der OP zunächst ein HTML-Problem.
Umstellen bedeutet: Zeichne den Code semantisch sinnvoll aus, beispielsweise eine Liste durch <ul> und mach dir hinterher erst Gedanken um das Aussehen.
Sag ich doch. Primär ein HTML-Problem.
Ciao,
Martin