Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  22 2309
jeg skulle prøve å få en div i midten av av siden, men men det virket bare i IE og ikke i firefox..
hvorfor?
hvordan gjør man dette?

css:

Kode

body {
text-align: center;
background-image: url("images/background.jpg");
}

div.main {
background-color: #eaeaea;
width: 700px;
height: 900px;
}
det blir feil å bruke position..


------------EDIT----------------------

Jeg fant en måte å gjøre det på:

jeg la til en div: <div align="center">
før main-diven..
Sist endret av tobbe654; 13. august 2008 kl. 02:44.
For å få den til å ligge i midten må du bruke margin: 0 auto; om jeg husker riktig. Og for å fikse det i IE må du sette body text align til center sånn som du har gjort og etterpå sette riktig text align i de forskjellige div boksene (left vanlig vis).

Kode

<div align="center">
er det samme som

Kode

div {
text-align: center; }
Så like greit å sette det inn der

Stusser litt på div-navna dine også. Lurt å vende seg til å bruke wrapper, header, footer, content, menu og slikt som sier litt om hva man faktisk redigerer
body {
margin: 0px auto;
}

Problem solved.

Sitat av PepsiCo
Stusser litt på div-navna dine også. Lurt å vende seg til å bruke wrapper, header, footer, content, menu og slikt som sier litt om hva man faktisk redigerer
Vis hele sitatet...
Når man lager en side så kjenner man den som regel inn og ut allerede. Derfor, navn er ikke veldig viktig.
Men om man skulle lage for andre enn segselv i fremtiden så er det lurt å være vant med det
margin: 0 auto; holder hvis siden din er i standard mode (dvs har en riktig doctype-tag). Se http://www.freakforum.nu/forum/showthread.php?t=106469 for hvordan du kan være helt sikker på dette.
Sitat av PepsiCo

Kode

<div align="center">
er det samme som

Kode

div {
text-align: center; }
Så like greit å sette det inn der

Stusser litt på div-navna dine også. Lurt å vende seg til å bruke wrapper, header, footer, content, menu og slikt som sier litt om hva man faktisk redigerer
Vis hele sitatet...
nei, det er ikke det samme. <div align="center"> er html og div {
text-align: center; } må inn i css'en, men det er jo ingen vits å sette en så enkel div inn i css..

kunne skrivd: <div style="{text-align: center;}"> for å få det til å se fint ut

div-navna? har en div med navn og den heter main.. tror jeg har sett det flere steder og det sier mye om hva jeg redigerer for meg
Sist endret av tobbe654; 13. august 2008 kl. 12:47.
Sitat av tobbe654
nei, det er ikke det samme. <div align="center"> er html og div {
text-align: center; } må inn i css'en, men det er jo ingen vits å sette en så enkel div inn i css..

kunne skrivd: <div style="{text-align: center;}"> for å få det til å se fint ut

div-navna? har en div med navn og den heter main.. tror jeg har sett det flere steder og det sier mye om hva jeg redigerer for meg
Vis hele sitatet...
Selvsagt vet jeg hva som er html og hva som er css, men dem to gjør akkurat det samme. Å bruke <div align="center"> roter jo bare til html-koden din

Diven din heter ikke main, den heter div
Som sagt, det var bare et tips om hva det er lurt å vende seg til om man senere skal utvikle for andre enn segselv
Sist endret av PepsiCo; 13. august 2008 kl. 12:53.
Nei, de gjør absolutt IKKE det samme. Kanskje de fungerer likt i IE, men that's it. align="center" er nok noe lignende som margin:0 auto; i CSS, mens text-align:center; kun er for tekst og vil ikke virke for block level elementer (slik som div-tagger). Det er nettopp derfor text-align:center; ikke funker for div's i andre nettlesere enn IE.
Beklager, må legge meg flat på den

If you are used to using <CENTER> and <DIV ALIGN> in HTML to set alignment on block structures, it is done a bit differently in CSS. Using 'text-align' does not align the blocks themselves, it aligns the text content within a block. To center a block structure in CSS (such as, say, a TABLE), you might use something like:
table { margin-left: auto; margin-right: auto; }
Sitat av PepsiCo
Selvsagt vet jeg hva som er html og hva som er css, men dem to gjør akkurat det samme. Å bruke <div align="center"> roter jo bare til html-koden din

Diven din heter ikke main, den heter div
Som sagt, det var bare et tips om hva det er lurt å vende seg til om man senere skal utvikle for andre enn segselv
Vis hele sitatet...
hehe regnet jo med at du viste det da, men kan du forklare hvorfor det roter opp html koden.

jo jeg har en div som heter main. den andre er det ikke definert noe navn på.
Sitat av tobbe654
nei, det er ikke det samme. <div align="center"> er html og div {
text-align: center; } må inn i css'en, men det er jo ingen vits å sette en så enkel div inn i css..
Vis hele sitatet...

Jeg må få kverrulere litt med deg. På større prosjekter burde man absolutt isolere all form for styling fra selve HTML'en; ellers blir det en jæææævlig jobb hvis du skal endre på designet senere.

Fremfor å kun måtte jobbe med én CSS-fil, og gjøre enkelte HTML-forandringer, så må du (i ditt tilfelle) lete gjennom alle HTML/PHP/ASP.NET filene en etter en, og lete etter forskjellige stylingproperties...

Så jeg anbefaler alle å flytte all styling inn i CSS (stylesheets) - og heller bare bruke HTML til å definere funksjonen for designet (fremfor designet i seg selv)...

Men så klart, på en liten hjemmeside for deg selv, så spiller det ikke så mye rolle - foruten at noen foretrekker å gjøre slike ting mest mulig "riktig".
Sitat av tobbe654
hehe regnet jo med at du viste det da, men kan du forklare hvorfor det roter opp html koden.

jo jeg har en div som heter main. den andre er det ikke definert noe navn på.
Vis hele sitatet...
Stormen svarte på det første litt^^

Kode

div.main
div=div
class=main

Sitat av Stormen
Jeg må få kverrulere litt med deg. På større prosjekter burde man absolutt isolere all form for styling fra selve HTML'en; ellers blir det en jæææævlig jobb hvis du skal endre på designet senere.

Fremfor å kun måtte jobbe med én CSS-fil, og gjøre enkelte HTML-forandringer, så må du (i ditt tilfelle) lete gjennom alle HTML/PHP/ASP.NET filene en etter en, og lete etter forskjellige stylingproperties...

Så jeg anbefaler alle å flytte all styling inn i CSS (stylesheets) - og heller bare bruke HTML til å definere funksjonen for designet (fremfor designet i seg selv)...

Men så klart, på en liten hjemmeside for deg selv, så spiller det ikke så mye rolle - foruten at noen foretrekker å gjøre slike ting mest mulig "riktig".
Vis hele sitatet...
ja gjør vanligvis det, grunnen til at jeg la denne inn i html var fordi text-align virket ikke.. men nå har jeg fått en annen løsning på det..

TAKK FOR ALLE SVAR

Sitat av PepsiCo
Stormen svarte på det første litt^^

Kode

div.main
div=div
class=main

Vis hele sitatet...
ok hva mener du med div-navna da? jeg trodde du mente class/id
Måten man setter opp css på div <div id="navn"> skal ha

Kode

div {style: masse; }
Mens en class <div class="navn2"> eller <p class="navn3> skal ha

Kode

.navn2 {style: masse; }
.navn3 {style: masse; }
Om koden er <div id=navn4><p class=navn5></p></div> og man vil ha egen stil for den classen innen for den diven blir det

Kode

navn4.navn5 {style: masse; }
Sist endret av PepsiCo; 13. august 2008 kl. 14:35.
jeg trodde man måtte definere id med "#", men forstår ikke hvordan du har definert id navn på den øverste..
Seriøst PepsiCo, hvor tar du dette fra? Løse lufta?

Sitat av PepsiCo
Måten man setter opp css på div <div id="navn"> skal ha

Kode

div {style: masse; }
Vis hele sitatet...
Nei.

Kode

div#navn {style:masse;}
Sitat av PepsiCo
Om koden er <div id=navn4><p class=navn5></p></div> og man vil ha egen stil for den classen innen for den diven blir det

Kode

navn4.navn5 {style: masse; }
Vis hele sitatet...
Nei.

Kode

.navn4 .navn5 {style: masse; }
Du driver mer med vranglære enn opplysning. Jeg anbefaler dere begge to en tur gjennom W3Schools CSS tutorial.
btw:
mente

ved div:

Kode

navn {style: masse; }
Men om det og er feil så


Men du sier:

Kode

.navn4 .navn5 {style: masse; }
Er ikke det det samme som

Kode

.navn4 {style: masse; }
.navn5 {style: masse; }
altså ikke unik class innenfor div?

Mulig jeg er vranglært, men slik jeg har lært det
Sist endret av PepsiCo; 13. august 2008 kl. 15:17.
Sitat av fuzzy76
Jeg anbefaler dere begge to en tur gjennom W3Schools CSS tutorial.
Vis hele sitatet...
har vært mange turer innom der..
Sist endret av tobbe654; 13. august 2008 kl. 15:20.
Da har jeg lest litt og funnet ut at det eneste jeg har misforstått er måten man setter opp divene i css

Jeg pleide å sette
header {background: red; }

Riktige var
div#header {background: red; }

Ellers korrekt ifølge www.tizag.com. w3schools har jeg hørt ikke er oppdatert på noen år
Limited edition
Moff's Avatar
Sitat av PepsiCo
Riktige var "div#header {background: red; }"
*snip*
W3Schools har jeg hørt ikke er oppdatert på noen år.
Vis hele sitatet...
Om W3Schools ikke er oppdatert vet jeg ikke noe om, men jeg kan så godt som garantere at det som står der stemmer. Bedre enn dine eksempler, om ikke annet. Du bør i alle fall unngå å bruke fargeangivelser i tekst ("red", "blue" etc), og i stedet venne deg til å bruke RGB-systemet ("#ff0000", "#0000ff" etc).

I tillegg trenger du egentlig ikke å skrive "div#header", det holder med "#header". Det første angir at dette er regler for en ID kalt "header", og den vil kun fungere for elementet "div". Nummer to angir det samme, men den kan brukes på et hvilken som helst element. Dette kan være praktisk når du opererer med klasser (forskjellen på klasser og ID-er er i bunn og grunn at en ID kun skal brukes en gang, mens en klasse kan gjenvinnes). Hvis du har en enkel klasse som kun lager en svart ramme rundt ting, kan det være aktuelt å bruke denne på både div-elementer og bilder, for eksempel. Da kan du ikke skrive "div#ramme", fordi det ikke vil fungere for img-elementet.

Og til trådstarter:
Ikke angi CSS eller style i noen form i HTML-en. Det blir bare rot. Selv om en klasse kun består av en linje kode er det verdt å ha det i stilarket ditt. Navn er også mye viktigere enn du tror. Hvis du legger vekk et prosjekt i 6 måneder, også plukker det frem igjen, vil du neppe forstå et kvekk av hva alle greiene gjør hvis det heter "div1", "elg", "boks98" og sånt.

Forresten er det en annen måte å midtstille elementer på, som jeg bruker i stedet for "margin: auto". Den virker kun på elementer som har en angitt bredde:

Kode

#boks {

position: relative;
width: 400px;
left: 50%;
margin-left: -200px;

}
Denne (hvis jeg har skrevet korrekt) vil lage et element som er 400 pixler bredt. Så plasserer den venstre kant av elementet midt på skjermen (eller nivået den er på, om den er nestet inni noe annet). Deretter flytter den elementet 200 pixler mot høyre (minus 200px), og det er tilfeldigvis halvparten av bredden. Jeg føler at denne måten er lettere å kontrollere enn auto-settingen, men det er opp til den enkelte å avgjøre.
veldig bra innlegg Moff!! og eksempelet ditt var noe jeg forstod og kommer til å bruke..
Sitat av PepsiCo
w3schools har jeg hørt ikke er oppdatert på noen år
Vis hele sitatet...
Siden mesteparten av CSS er over 10 år gammelt anser jeg ikke det som noe problem.

Og av W3School og Tizag er det kun en av dem som har CSS som validerer, du kan gjette hvilken.