[red]
body {
font-family: verdana;
font-size: 10px;
color: #000000;
[b]overflow: hidden;[/b]
}[/red]
mv icaaq
12 svar · 355 visningar · startad av silfver
Hejsan!
Förstår inte varför scrollen visas, hjälp mig snälla!
http://www.silfver.se/v3.2/index2.php
Css:
body {
font-family: verdana;
font-size: 10px;
color: #000000;
}
.menu {
position: absolute;
left: 625px;
top: 75px;
}
.main {
border-right: 1px solid #999999;
border-left: 1px solid #999999;
width: 500px;
position: absolute;
left: 120px;
top: 70px;
height: 100%;
z-index: 1;
}
.borders {
border-right: 1px solid #999999;
border-left: 1px solid #999999;
width: 494px;
height: 100%;
position: absolute;
left: 2px;
top: 0px;
background: #f5f5f5;
}
.innehall {
padding: 5px;
}
.logo {
position: absolute;
top: 0px;
left: 120px;
}
mvh
[red]
body {
font-family: verdana;
font-size: 10px;
color: #000000;
[b]overflow: hidden;[/b]
}[/red]
mv icaaq
Förstår inte varför scrollen visas
Hmm...
Det beror på följande kod:
.main {
border-right: 1px solid #999999;
border-left: 1px solid #999999;
width: 500px;
[b]position: absolute;[/b]
left: 120px;
[b]top: 70px;
height: 100%;[/b]
z-index: 1;
När du absolutpositionerar ett block "på yttersta nivån" och sätter höjden till 100% så blir det blocket lika högt som webbläsarfönstrets visningsyta ("viewport")...
I ditt fall gäller detta garanterat eftersom du inte kör med någon <!DOCTYPE-tagg alls.
När du då "positionerar ner" detta block med top:70px, så hamnar dess underkant då alltså på "100% av webbläsarens höjd" + 70px vilket garanterar dig rullningslister
Aha, okay. Vad kan jag använda för "doctype" för att bli av med detta då? Eller är det ens möjligt? Eller, ska jag använda mig av en annan z-index?
Edit:
icaaq , jag vill ju att scrollen ska synas om det behövs, men jag vill inte att den ska vara permanent osynlig.
Som jag förstår det är detta en inneboende egenskap i CSS och inget man kan göra något åt. Många har försökt (vilket du ser i flera trådar under senaste halvåret här på wF om du letar lite) - har inte sett någon solklar lösning på problemet...
Dessutom finns det en del buggar i äldre webbläsare (som inte förstår att "position absolute" skall gälla inom ett viss block utan alltid felaktigt positionerar "absolutblock" mot webbläsarfönstrets koordinater)
Men det är ju ingen tröst - så för att vara lite konstruktiv också så föreslår jag att du klurar om din kod lite - här är ett exempel på hur du kan göra istället (exkluderat meny-div:en som du kan absolutpositionera "som tidigare" )
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="sv" lang="sv">
<head>
<title>Ett exempel</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
<!--
body,html {height:100%; margin:0; padding:0}
.main {
height:100%;
width: 500px;
margin-left:120px;
background-color: #eeeeee;
border-left:3px double gray;
border-right:3px double gray;
}
.logotyp {
position:absolute;
top:0;
left:120px;
width: 506px; /* plus 2*bredd på border från main */
border-left: none;
border-right: none;
height:100px;
background-color: white;
border-bottom:1px solid gray;
}
.innehall {
margin: 100px 0 0 0;
padding: 10px;
}
-->
</style>
</head>
<body>
<div class="logotyp">Logotyp-div som ligger positionerad över main och har border-bottom</div>
<div class="main">
<div class="innehall"><b>$topic</b> - med border-style: double istället</div>
</div>
</table>
</body>
</html>
Tack för all din hjälp! Ändrade koden lite, så nu ser den ut såhär:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="sv" lang="sv">
<head>
<title>Ett exempel</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
<!--
body, html {height:100%; margin:0; padding:0}
.main {
height:100%;
width: 500px;
margin-left: 100px;
background-color: #f5f5f5;
border-left: 3px double #999999;
border-right: 3px double #999999;
}
.logotyp {
position:absolute;
top:0;
left: 104px; /* 120 minus bredden på border-left */
width: 500px; /* plus 2*bredd på border */
height:75px;
}
.innehall {
margin: 75px 0 0 0;
padding: 5px;
}
body {
font-family: verdana;
font-size: 10px;
}
-->
</style>
</head>
<body bgcolor="#FFFFFF">
<div class="logotyp"><img border="0" src="logo.gif" width="499" height="70"></div>
<div class="main">
<div class="innehall"><b>$topic</b> - med border-style: double istället</div>
</div>
</body>
</html>
Men jag har försökt att få bordern lite mer ifrån varandra, men det går tydligen inte utan att göra den tjockare. Hade helst velat ha den som i mitt första exempel, men det går inte när man använder sig av "double" väl?
Edit:
Det är inte sant. Scrollen syns fortfarande i FB...
Men jag har försökt att få bordern lite mer ifrån varandra, men det går inte när man använder sig av "double" väl?
Förmodligen inte - hur "double" ritas ut bestäms av att den skall rita "en dubbel linje lika bred som angiven border-width" (typ)
Men eftersom du har en fix bredd på allt, och en fastställd position på din "main"-div så behöver du ju inte lägga *någonting* som har med utseendet att göra i just div.main - du kan ju lägga din "border" och din "bakgrundsfärg" i en 1px hög och *jättebred* repeterande bakgrundsbild i body istället och skippa border och background på main helt ?
Det är inte sant. Scrollen syns fortfarande i FB...
Hmm...
Det var som attan... För koden du postade härovan? (om inte - har du en länk till sidan som strular? )
Och jag som inte hinner meka mer just nu
Förresten: vilken FB är det som det strular i?
Koden som jag postade, och även din kod som du postade från början strular i Mozilla Firebird 0.7. Men det ser dock bra ut i IE. Blir lite smått galen på det här faktiskt
Sedan testade jag att göra en div med höjden 100% och top- och "left-marginalen" till noll, ändå så nådde inte "diven" enda ner i kanten.
Har testat lite i FB 0.6.1 nu... (körde bara tester i en drygt halvårsgammal Mozilla och i MSIE6 tidigare idag )
Problemet uppkommer där också!
Tydligen är det margin-top på .innehall som "läcker över" till .main i just Firebird...
Empirisk lösning blir alltså att meka om .innehall lite:
.innehall {
margin:0;
padding: 80px 5px 5px 5px;
}
Ja men se nu funkar det ju! Tack för hjälpen
God jul!
Fast nu ser jag... När det blir för mycket text så stannar kanterna kvar, dom dras inte med hela tiden alltså, fuck mozilla
Edit:
Nej men jag blir så less på skiten så nu tar jag bort
.main {
height:100%;
}
och ersätter med border-bottom. Får duga så!
Hmm...
Om du inte vill "fucka Mozilla" och ändå ha din design kan du ju annars göra såhär:
Byt först ut "height:100%" i .main mot "min-height:100%" - det fixar problemet i Mozilla men "fuckar" MSIE vid lite text...
Lägg sedan till följande villkorade extra stilmall efter din ordinarie stilmall på varje sida:
<!--[if gte IE 5]>
<style type="text/css">
.main {height:100px} /* specialarna för MSIE */
</style>
<![endif]-->
Den lilla snutten åtgärdar problemet som "min-height" inför för MSIE - inte snyggt, men användbart
Mer om villkorliga kommentarer i MSIE finns t.ex. här: http://www.webforum.nu/showthread.php?s=&postid=667854#post667854
Hehe, okay tack
Jag använder ju mig av php, så den inkluderar alla sidor i index. Antar att det räcker att jag skriver in den där kommentaren i index då? Får väl testa. Tack för hjälpen Återkommer när jag har testat.
Edit:
Har testat koden nu, men utan lyckat resultat. Fårstår mig inte på html ibland... Men nu gör jag så att jag använder bottom-border också, med en <br> under så blir det jättefint.
mvh