Avatar billede ronni-n Nybegynder
09. august 2007 - 15:21 Der er 34 kommentarer og
1 løsning

Menu boks fylde 100% højde i comtainer. Hvordan?

Hejsa.
Jeg sidder og roder med note hjemmeside i css.
Jeg har en container, i den har jeg så en menu boks som er floatet til venstre (sat til 100% højden).
og så har jeg en main.

Mit problem er at når jeg skriver i main, så den automatisk bliver højere, så følger min menu boks ikke med i højden.
Jeg har rodet med det i lang tid og nu har jeg givet op.

Håbert der er nogle der har en løsning.

På forhånd tak.

et eks. http://www.gb1.frac.dk/
Avatar billede olebole Juniormester
09. august 2007 - 15:24 #1
<ole>

Ifølge CSS skal en relativ højde (en højde i procent) udregnes på baggrund af det omkransende elements højde.
Du skal altså sætte en højde på det element, der ligger udenom ... ellers kan du ikke angive højden på elementet i procent  ;o)

/mvh
</bole>
Avatar billede ronni-n Nybegynder
09. august 2007 - 15:36 #2
Ok. jeg forstår det du siger som om at hvis jeg sætter højden på min container til fx. 800px i stedet for 100%, så vil det virke.
det har jeg prøvet og det hjælper ikke :(
Avatar billede roenving Novice
09. august 2007 - 16:59 #3
Hvis det er meningen, at containeren skal hav fuld højde skal du også medtage:

html,body{height:100%;}

i dit stylesheet !-)
Avatar billede ronni-n Nybegynder
09. august 2007 - 17:39 #4
Det er som sådan ikke meningen containeren skal have fuld højde, den skal bare udvide sig i takt med main'en.
jeg prøvede at sætte din kode ind, det fik da også min menu til at følge med i højden desværre bare så det var 100% af hele body'en eks. http://www.gb1.frac.dk/
så når jeg scrooler ned er den ud over containeren.
Det skal jo kun være 100% af containeren.
Avatar billede kongknabe Nybegynder
11. august 2007 - 16:46 #5
Det du ønsker er to kolonner ved siden af hinanden - altså en menu til venstre og main til højre !? - Og så er dit mål at menuen altid har samme højde som main (Der jo ændre højde alt efter hvor meget indhold der er i den) - Rigtig forstået?
Avatar billede ronni-n Nybegynder
11. august 2007 - 22:27 #6
Hej kongknabe.

Ja det er lige præcis det jeg godt kunne tænke mig.
Har du en løsning på det? :)
Avatar billede kongknabe Nybegynder
11. august 2007 - 22:31 #7
Det er faktisk lidt bøvlet at lave med CSS desværre.. Prøv at se indlæg nr.2 før dette : http://www.eksperten.dk/spm/790927

Det er stort set det samme han gør, og koden er rimelig overskuelig.. :-) - Hvis der er noget du er i tvivl om så sig til :-)
Avatar billede ronni-n Nybegynder
13. august 2007 - 14:03 #8
Hej kongknabe.

Jeg har kigget lidt på det andet indlæg.
Jeg blev desværre ikke klogere, for som jeg forstår det, så er hans problem at hans floats overskrider han container.
Så jeg kunne ikke lige se hvad jeg kunne bruge :(

Men nu har valgt at bruge bg farven i min container, så det også er den jeg har i min menu, så kan man ikke se om den følger med eller ej, så er den skid slået.

Men ellers tak for hjælpen, jeg fik da lært lidt om clearfix :)
Avatar billede olebole Juniormester
13. august 2007 - 14:53 #9
Du kan blot lave et baggrundsbillede, der kun er et par pixels højt. De venstre 140px farver du i menuens farve - resten f.eks. hvid.
Nu sætter du den bare til at repeate billedet lodret ... så er der ikke et øje, der kan se, menuen ikke har samme højde som indholdet  ;o)
Avatar billede kongknabe Nybegynder
13. august 2007 - 15:39 #10
"Jeg blev desværre ikke klogere, for som jeg forstår det, så er hans problem at hans floats overskrider han container.
Så jeg kunne ikke lige se hvad jeg kunne bruge :("

Ja, du har ret i at det tilsyneladende ikke er det samme problem da hans problem nemlig er at hans container ikke følger med indholdet.. Problemet er at det er de man altid ryger ud i når man forsøger at lave to koloner ved siden  af hinanden.. Sådan som du har lavet det nu vil du opleve samme problem hvis indholdet af din menu skulle komme til at fylde mere i højden end indholdet af din main-div. - Hvis du med sikkerhed ved at indholdet af din menu altid har præcis samme størrelse er det ikke så stort et problem dog :-) (Har du i øvrigt prøvet at tjekke din side i Firefox f.eks. - ser ikke ud til at den virker ordentligt der)

Skal lige prøve at smide et kode eksempel op på hvordan du laver de to kolonner så du undgår problemer frem over :-)
Avatar billede olebole Juniormester
13. august 2007 - 17:27 #11
Med baggrundsbillede som løsning:
    http://www.dengodekode.dk/eksperten/twocols/

- efter devicen: If you can't fake it, you can't make it!  ;o)
Avatar billede kongknabe Nybegynder
13. august 2007 - 17:34 #12
Olebole: Dit eksempel virker så vidt jeg kan se kun i IE (Eller i hvert fald ikke i Firefox eller Safari) :-)
Avatar billede kongknabe Nybegynder
13. august 2007 - 17:39 #13
Derudover er der vel også stadig et problem hvis indholdet af din menu bliver længere end din wrapper (indholdet  i content)!?
Avatar billede olebole Juniormester
13. august 2007 - 17:42 #14
Sorry ... lavede en bøf  ;o)

Ja, hvis menuen er længere end indholdet, virker den ikke - men så er det nok navigationens struktur, der bør tænkes over ... med mindre, der er meget lidt indhold  :)
Avatar billede kongknabe Nybegynder
13. august 2007 - 17:45 #15
Ja, i mange tilfælde vil det ikke blive aktuelt.. Men hvis man f.eks. sidder og skal lave et design til en blog eller lignende, hvor der er en tendens til at der bliver fyldt rigtig meget indhold i menuen/den lille spalte kan det blive et problem :-)
Avatar billede olebole Juniormester
13. august 2007 - 17:47 #16
Så kan du bare lave denne version:
    http://www.dengodekode.dk/eksperten/twocols/index2.html
Avatar billede ronni-n Nybegynder
14. august 2007 - 11:31 #17
*olebole skrev
*"Du kan blot lave et baggrundsbillede, der kun er et par pixels højt. De venstre  *140px farver du i menuens farve - resten f.eks. hvid.
*Nu sætter du den bare til at repeate billedet lodret ... så er der ikke et øje, der *kan se, menuen ikke har samme højde som indholdet  ;o)"

Supert det havde jeg slet ikke tænkt på :) Det var ikke det svar jeg spurgte efter, men det er mindst ligeså godt, jeg opnår det der var mit mål. Tak

*kongknabe Skrev.
*(Har du i øvrigt prøvet at tjekke din side i Firefox *f.eks. - ser ikke ud til at *den virker ordentligt der)

Ved godt den ikke virker i firefox, det var bare lige noget jeg hurtigt smed sammen så i kunne se hvad der var mit problem :)
den side jeg arbejder med kan ses her http://www.ronni.frac.dk/test/


*kongknabe skrev
*"Olebole: Dit eksempel virker så vidt jeg kan se kun i IE (Eller i hvert fald ikke i *Firefox eller Safari) :-)"

Hmm. hvis jeg tjekker http://www.dengodekode.dk/eksperten/twocols/ i firefox kan jeg ikke se noget problem, der er heller ikke noget problem med min egen side.


Som jeg kan læse så er i rimelig skarpe til css.
Så jeg ville høre om i gad og kigge på min side http://www.ronni.frac.dk/test/
for at se om den er fuldstændig åndsvagt skruet sammen, og om der er steder jeg kunne have gjort det anderledes/nemmere.

Og så lige en anden ting, ved godt jeg spørger om mange ting :)
hvis man nu sidder ved en anden computer end sin egen og surfer, så kan man jo ikke bare gemme et link i fortrukne.
Der synes jeg det ville være smart hvis man havde et felt på sin hjemmeside,
hvor man kunne skrive et link og så gemme det i en fil på serveren, som man så kunne se fra sin hjemmeside af.
Jeg har ledt og ledt, men finder desværre kun en masse med fil upload.

Kender i et script eller ligende som kan klarer dette. ?
ikke sidder ved sin egen computer

Tak skal i have.
Avatar billede olebole Juniormester
14. august 2007 - 13:02 #18
Har du mulighed for at bruge et serversprog?
Avatar billede ronni-n Nybegynder
14. august 2007 - 13:04 #19
ja PHP
Avatar billede olebole Juniormester
14. august 2007 - 13:12 #20
Så er det jo bare at lave en HTML-side med et input og en knap - og så banke skidtet i en DB - hvorfra du kan hente dine url'er og skrive dem ud som links
Avatar billede ronni-n Nybegynder
14. august 2007 - 13:26 #21
Problemet er bare at lige det har ikke en dyt forstand på, hvor ved ikke hvor jeg skal starte.
Jeg ville også helst undgå databaser, jeg vil helst have det som flat file.
Avatar billede kongknabe Nybegynder
14. august 2007 - 16:21 #22
"ronni-n: Som jeg kan læse så er i rimelig skarpe til css.
Så jeg ville høre om i gad og kigge på min side"

Umiddelbart ser det ganske fornuftigt ud det du har lavet. Hvis jeg virkelig skulle være flueknepper ville jeg måske mene du skulle bruge <h1> - <h2> og <p> tags i stedet for mange af de spans i din HTML. F.eks. burde:

<span class="overskrift">  I skole med peter </span>
<span class="Dato"> 26 Maj 2008 </span>

i stedet være

<h1>  I skole med peter </span>
<span class="italic"> 26 Maj 2008 </h1>

Google lægger f.eks. mere vægt på hvad der stå i et <h1> tag, som er at regne som overskriften på siden :-) (Og du kan style dit h1 tag på præcis samme måde som din span)

Og lige ledes burde din <div class="tekst"></div> nok bare være et <p></ p> tag :-)
Avatar billede olebole Juniormester
15. august 2007 - 03:00 #23
Angående dine favoritter, så er det i princippet noget à la:

<?
if (isset($_POST["contxt"]) && $_POST["contxt"]=="insFav") {
    $fp = fopen("myfavorites.txt", "a");
    fwrite($fp, "<a href='".$_POST["favUrl"]."' title='".$_POST["favUrl"]."' target='_blank'>".$_POST["favName"]."</a>\r\n");
    fclose($fp);
    header("Location: ".$_SERVER["PHP_SELF"]);
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Mine Favoriter</title>
<style type="text/css">
html, body {
    height: 100%;
    margin: 0;
    padding: 0;
}
#favDispl {
    width: 300px;
    height: 500px;
    border: 1px solid #999999;
    overflow: auto;
}
#favDispl a, #favDispl a:visited {
    height: 1.3em;
    display: block;
    padding: 0 10px;
    color: black;
    text-decoration: none;
}
#favDispl a:hover {
    color: red;
    text-decoration: underline;
}
</style>
</head>
<body>

<div id="favDispl">
<? include("myfavorites.txt") ?>
</div>

<form action="<?=$_SERVER["PHP_SELF"]?>" method="post">
<input type="hidden" name="contxt" value="insFav">
<table>
<tbody>
<tr>
    <td>Navn:</td>
    <td><input name="favName" type="text"></td>
</tr>
<tr>
    <td>URL:</td>
    <td><input name="favUrl" type="text"></td>
</tr>
<tr>
    <td colspan="2" style="text-align:center"><button type="submit">Opret</button></td>
</tr>
</tbody>
</table>
</form>

</body>
</html>

- og så skal der naturligvis være skriverettigheder til filen 'myfavorites.txt'.

Her er der dog slet ingen sikkerhed! Du bør helt klart lave et ganske simpelt login - men det kan du spørge om i PHP-kategorien  ;o)
Avatar billede olebole Juniormester
15. august 2007 - 03:01 #24
- og filen skal hedde 'etEllerAndet.php'
Avatar billede ronni-n Nybegynder
15. august 2007 - 11:19 #25
Hej kongknabe.

Tak for dine råd, det vil jeg da helt sikkert bruge.
Avatar billede ronni-n Nybegynder
15. august 2007 - 11:28 #26
Hej olebole.

Det ser sku lækkert ud.
Det er lige præcis sådan noget jeg snakkede om.

Ville lige høre om det var muligt at lave det sådan så
det man skriver i url feltet er det der bliver vist samtidig med det er et hyperlink
og så det man skriver i navn feltet er beskrivelse/bemærkning til linket,
som så kommer til at stå til højre for linket som ren tekst.
Avatar billede olebole Juniormester
17. august 2007 - 02:56 #27
Det kunne se sådan ud med et hyper-simpelt login:

<?
session_start();
include("myFavorites.php");
if (isset($_POST["contxt"]) && $_POST["contxt"]=="login") {
   
    $passCheck = "kodeord"; // Dit password
   
    if ($_POST["pass"]===$passCheck) {
        $_SESSION["loggedIn"] = "OK";
    }
    header("Location: ".$_SERVER["PHP_SELF"]);
    exit;
}
if (isset($_POST["contxt"]) && $_POST["contxt"]=="insFav" && $_SESSION["loggedIn"]==="OK") {
    $myFavorites[] = array($_POST["favName"], $_POST["favUrl"]);
    $fp = fopen("myfavorites.php", "w");
    $aArr = array();
    for ($i=0,$j=count($myFavorites); $i<$j; $i++) {
        $aArr[] = "array('".$myFavorites[$i][0]."', '".$myFavorites[$i][1]."')";
    }
    fwrite($fp, "<?\r\n\$myFavorites = array(\r\n\t".implode(",\r\n\t", $aArr)."\r\n);\r\n?>");
    fclose($fp);
    header("Location: ".$_SERVER["PHP_SELF"]);
    exit;
}
function getFavorites() {
    global $myFavorites;
    $aArr = array();
    for ($i=0,$j=count($myFavorites); $i<$j; $i++) {
        $aArr[$i] = "<div><a href='".$myFavorites[$i][0]."' target='_blank'>".$myFavorites[$i][1]."</a> > <b>".$myFavorites[$i][0]."</b></div>";
    }
    return implode("\r\n", $aArr);
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Mine Favoriter</title>
<style type="text/css">
html, body {
    height: 100%;
    margin: 0;
    padding: 0;
}
#favDispl {
    width: 500px;
    height: 500px;
    border: 1px solid #999999;
    overflow: auto;
}
#favDispl div {
    padding: 0 10px;
}
#favDispl a, #favDispl a:visited {
    color: black;
    text-decoration: none;
}
#favDispl a:hover {
    color: red;
    text-decoration: underline;
}
</style>
</head>
<body>

<div id="favDispl">
<?=getFavorites()?>
</div>

<?
if ($_SESSION["loggedIn"]==="OK") { // Du er logget ind
?>
<form action="<?=$_SERVER["PHP_SELF"]?>" method="post">
<input type="hidden" name="contxt" value="insFav">
<table>
<tbody>
<tr>
    <td>Navn:</td>
    <td><input name="favName" type="text"></td>
</tr>
<tr>
    <td>URL:</td>
    <td><input name="favUrl" type="text"></td>
</tr>
<tr>
    <td colspan="2" style="text-align:center"><button type="submit">Opret</button></td>
</tr>
</tbody>
</table>
</form>
<?
} else { // Du er ikke logget ind
?>
<form action="<?=$_SERVER["PHP_SELF"]?>" method="post">
<input type="hidden" name="contxt" value="login">
<div>Log ind:</div>
<input name="pass" type="password">
<p><button type="submit">Login</button></p>
<?
}
?>

</body>
</html>
Avatar billede olebole Juniormester
17. august 2007 - 02:59 #28
- og filen 'myFavorites.php':

<?
$myFavorites = array();
?>
Avatar billede olebole Juniormester
17. august 2007 - 03:03 #29
Njaahhh ... lav lige linjerne:

    if ($_POST["pass"]===$passCheck) {
        $_SESSION["loggedIn"] = "OK";
    }

- om til:

    if (isset($_POST["pass"]) && $_POST["pass"]===$passCheck) {
        $_SESSION["loggedIn"] = "OK";
    }
Avatar billede olebole Juniormester
17. august 2007 - 03:06 #30
- og ret denne linje:
        $aArr[$i] = "<div><a href='".$myFavorites[$i][0]."' target='_blank'>".$myFavorites[$i][1]."</a> > <b>".$myFavorites[$i][0]."</b></div>";

- til:
        $aArr[$i] = "<div><a href='".$myFavorites[$i][1]."' target='_blank'>".$myFavorites[$i][1]."</a> > <b>".$myFavorites[$i][0]."</b></div>";
Avatar billede olebole Juniormester
17. august 2007 - 03:15 #31
I (17/08-2007 02:59:39) skrev jeg 'myFavorites.php'. Det skulle være 'myfavorites.php'  =)
Avatar billede olebole Juniormester
17. august 2007 - 03:17 #32
Med rettede fejl:

<?
session_start();
include("myfavorites.php");
if (isset($_POST["contxt"]) && $_POST["contxt"]=="login") {
   
    $passCheck = "kodeord"; // Dit password
   
    if (isset($_POST["pass"]) && $_POST["pass"]===$passCheck) {
        $_SESSION["loggedIn"] = "OK";
    }
    header("Location: ".$_SERVER["PHP_SELF"]);
    exit;
}
if (isset($_POST["contxt"]) && $_POST["contxt"]=="insFav" && $_SESSION["loggedIn"]==="OK") {
    $myFavorites[] = array($_POST["favName"], $_POST["favUrl"]);
    $fp = fopen("myfavorites.php", "w");
    $aArr = array();
    for ($i=0,$j=count($myFavorites); $i<$j; $i++) {
        $aArr[] = "array('".$myFavorites[$i][0]."', '".$myFavorites[$i][1]."')";
    }
    fwrite($fp, "<?\r\n\$myFavorites = array(\r\n\t".implode(",\r\n\t", $aArr)."\r\n);\r\n?>");
    fclose($fp);
    header("Location: ".$_SERVER["PHP_SELF"]);
    exit;
}
function getFavorites() {
    global $myFavorites;
    $aArr = array();
    for ($i=0,$j=count($myFavorites); $i<$j; $i++) {
        $aArr[$i] = "<div><a href='".$myFavorites[$i][1]."' target='_blank'>".$myFavorites[$i][1]."</a> > <b>".$myFavorites[$i][0]."</b></div>";
    }
    return implode("\r\n", $aArr);
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Mine Favoriter</title>
<style type="text/css">
html, body {
    height: 100%;
    margin: 0;
    padding: 0;
}
#favDispl {
    width: 500px;
    height: 500px;
    border: 1px solid #999999;
    overflow: auto;
}
#favDispl div {
    padding: 0 10px;
}
#favDispl a, #favDispl a:visited {
    color: black;
    text-decoration: none;
}
#favDispl a:hover {
    color: red;
    text-decoration: underline;
}
</style>
</head>
<body>

<div id="favDispl">
<?=getFavorites()?>
</div>

<?
if ($_SESSION["loggedIn"]==="OK") { // Du er logget ind
?>
<form action="<?=$_SERVER["PHP_SELF"]?>" method="post">
<input type="hidden" name="contxt" value="insFav">
<table>
<tbody>
<tr>
    <td>Navn:</td>
    <td><input name="favName" type="text"></td>
</tr>
<tr>
    <td>URL:</td>
    <td><input name="favUrl" type="text"></td>
</tr>
<tr>
    <td colspan="2" style="text-align:center"><button type="submit">Opret</button></td>
</tr>
</tbody>
</table>
</form>
<?
} else { // Du er ikke logget ind
?>
<form action="<?=$_SERVER["PHP_SELF"]?>" method="post">
<input type="hidden" name="contxt" value="login">
<div>Log ind:</div>
<input name="pass" type="password">
<p><button type="submit">Login</button></p>
<?
}
?>

</body>
</html>
Avatar billede ronni-n Nybegynder
19. august 2007 - 23:21 #33
Hej olebole!

Det ser skide godt ud, helt sikkert noget jeg kan bruge :)

Tusind tak for det, det er jeg glad for.

Du må lige sende et svar du skal jo lige have pointene for det andet du hjalp med :)
Avatar billede olebole Juniormester
20. august 2007 - 00:05 #34
Selvtak  ;o)
Avatar billede olebole Juniormester
20. august 2007 - 00:46 #35
Tak for points  ;o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester