Permalänk
Medlem

HTML Div som inte sträcker ut

Okej som ni ser på bilden här under så är det något fel med min header div. När jag förminskar fönstret så hänger den inte med och sträcker ut sig, trots att width är satt till 100%. Samma sak med menyn vill att själva bakgrunden ska fortsätta sträcka sig åt sidan trots att man minskar fönstret.

http://sv.tinypic.com/view.php?pic=1zqu3k6&s=8

(är även bild på koden)

Permalänk
Medlem

Skicka filerna till mig så fixar jag det åt dig.

Visa signatur

Prylhögen: Nexus 7, iPhone 5, MBPr 2013

Permalänk
Medlem
Skrivet av QRS5:

Skicka filerna till mig så fixar jag det åt dig.

Kan kopiera in den här:

<div id="head"> <img src="black2.jpg" id="logo" > <div id="mainmenu"> <ul> <li><a href="#">Om oss</a></li> <li><a href="#">Öppettider</a></li> <li><a href="#">Hitta hit</a></li> <li><a href="#">Kontakta oss</a></li> </ul> </div> </div>

#head { background-color:black; min-width:100%; min-height:150px; display:inline-block; margin: -5px -6px -5px -6px; padding: 15px; border:0px solid black; } #mainmenu { background-color:black; width:480px; font-size:1.1em; font-weight:bold; text-align:left; border-radius:1px; margin:40px auto; position:absolute; top:100px; left:20%; }

Permalänk
Medlem

Sjysst av dig!

Skrivet av QRS5:

Skicka filerna till mig så fixar jag det åt dig.

Tjena, sjysst att du hjälper till, men kan du skriva ut vad du gör, så andra kan ha användning av infon? tack på förhand ^^

Visa signatur

CPU Intel core i5-3570k│MB ASRock Z77 Extreme4│Cooler Corsair Hydro H80i + 2xNoctua NF-F12│GPU 2x EVGA Classified GTX 780 Sli│HDD Western Digital 2tb│SSD Intel 330 reseller│RAM Corsair Vengeance (2x4GB) + Gskill Ripjaw (2x8GB)│PSU Corsair RM1000 │Chassi Fractal Design define r4 titan│Mus Mionix NAOS 7000│Tangentbord FUNC kb-460 cherry mx blue│Belysning NZXT HUE RGB LED Controller│

Permalänk
Medlem

Fungerar som det ska här.
http://jsfiddle.net/8yhWR/

Visa signatur

Canon 70D | 2x Dell Ultrasharp 24" | Ryzen 3700X | 32B | GTX 1080Ti

Permalänk
Medlem
Skrivet av Florrpan:

Fungerar som det ska här.
http://jsfiddle.net/8yhWR/

Väldigt lustigt måste vara något annat i min kod isåfall.

Här är hela min CSS:

body { background-color:#222222; } /*#page { width:60%; margin:0px auto; border-radius:10px; border:1px solid black; background-color:grey; }*/ #head { background-color:black; min-width:100%; min-height:150px; display:inline-block; margin: -5px -6px -5px -6px; padding: 15px; border:0px solid black; } #foot { width:60%; background-color:black; min-height:100px; text-align:center; clear:both; margin: -20px auto; } #content { width:60%; background-color:white; margin:0 auto; min-height:1000px; } #logo { position:absolute; left:20%; top:2%; } h1 { color:white; margin-top:0px; position:absolute; left:20%; top:10%; } .copy{ color:white; } /*----------------------------------------------------*/ #mainmenu { background-color:black; width:480px; font-size:1.1em; font-weight:bold; text-align:left; border-radius:1px; margin:40px auto; position:absolute; top:100px; left:20%; } #mainmenu ul { height:auto; padding:0; margin:0; list-style-type:none; } #mainmenu li { display:inline; } #mainmenu a { text-decoration:none; color:white; padding:0px 5px 0px 5px; font-family:verdana; } #mainmenu a:hover { color:#DF0023; }

Permalänk
Medlem

kapslar #page in resten av sidan? För den är ju 60%, så allt 100% innuti den blir max 60%.

100% är alltid relativt till dess container.

Visa signatur

Canon 70D | 2x Dell Ultrasharp 24" | Ryzen 3700X | 32B | GTX 1080Ti

Permalänk
Medlem
Skrivet av Florrpan:

kapslar #page in resten av sidan? För den är ju 60%, så allt 100% innuti den blir max 60%.

100% är alltid relativt till dess container.

Ja men jag använder inte #page, har kommenterat ut den.

Efter att ha studerat det närmare så tror jag det är menyn som stället till det.

Minskar jag fönstret så minskas ju diven men menyn sticker utanför och gör så att man kan scrolla fönstret. Jag vill ju att man ska kunna scrolla men inte att diven bryts av för det.

Permalänk
Medlem
Skrivet av Baxtex:

Ja men jag använder inte #page, har kommenterat ut den.

Efter att ha studerat det närmare så tror jag det är menyn som stället till det.

Minskar jag fönstret så minskas ju diven men menyn sticker utanför och gör så att man kan scrolla fönstret. Jag vill ju att man ska kunna scrolla men inte att diven bryts av för det.

Din meny är positionerad som "absolut", dvs, den har ingen relation till något annat element på sidan.
Sätt position: relative på din #head.

Det är massor med fel i din CSS.
Först å främst går det inte att centrera procent med margin: 0 auto. Du måste alltid ha en bestämd bredd på elementet för att webbläsaren ska kunna centrera det. 60% är obestämt och är alltid relativt till skärmens upplösning.
Att positionera absoluta objekt med procent är nog inte det bästa du kan göra. Elementen kommer då alltid ligga på olika ställen, baserat på olika upplösningar.

Jag skulle vilja se hela din HTML också för att hjälpa dig. Men det känns som du borde ta och läsa på lite mer om CSS och boxmodellen.

Visa signatur

Canon 70D | 2x Dell Ultrasharp 24" | Ryzen 3700X | 32B | GTX 1080Ti

Permalänk
Medlem
Skrivet av Florrpan:

Din meny är positionerad som "absolut", dvs, den har ingen relation till något annat element på sidan.
Sätt position: relative på din #head.

Det är massor med fel i din CSS.
Först å främst går det inte att centrera procent med margin: 0 auto. Du måste alltid ha en bestämd bredd på elementet för att webbläsaren ska kunna centrera det. 60% är obestämt och är alltid relativt till skärmens upplösning.
Att positionera absoluta objekt med procent är nog inte det bästa du kan göra. Elementen kommer då alltid ligga på olika ställen, baserat på olika upplösningar.

Jag skulle vilja se hela din HTML också för att hjälpa dig. Men det känns som du borde ta och läsa på lite mer om CSS och boxmodellen.

Hmm jag är ganska ny på detta och rör ihop positioneringen lite men såhär har jag fattat det:

Static(elementet lgger där det ska, behövs egentligen inte deklareras)
relative(elementet läggs där det ska ligga men kan sedan positioneras ifrån denna position med värden)
absolute(elementet läggs utanpå dess naturliga position och läggs på platsen i vänstra hörnet från föregående absoluta elementet om inget finns sätts den i det vänstra översta hörnet i webbläsare.
Fixed funkar som absolute bara att den ignorerar parent elements och sätts i hörnet direkt.

Men jag har fortfarande inte använt page. fick tipset om att göra så på w3shools forumet...

SÄtter jag både headern och menyn till relative så flyger ju bara menyn runt och går inte att positionera, oavsett om jag använder pixlar eller % för att positionera den.

Här https://copy.com/SHq3VOn0QN9fJSDi

Permalänk
Medlem

Har inte tid att gå igenom allt nu, ska iväg en snabbis.
Men en sak du bör kolla på är att kapsla in din sida och börja använda "float" för att positionera sidans struktur, vilken är den standard man använder idag inom webbdesign.

Genom att skapa en container med en max bredd (ex: width: 980px) och sedan placera dina element innanför denna container så blir allt mycket enklare.

Läs på om float:
http://html.net/tutorials/css/lesson13.php

Notera; man använder fortfarande position absolute, men man bör inte sitta och positionera alla element efter top, left, right bottom.
Genom att använda "float" så flyter elementen efter varandra och skapar en mer logisk struktur i bygget. Exempel:
http://html.net/tutorials/css/lesson13_ex2.php

Visa signatur

Canon 70D | 2x Dell Ultrasharp 24" | Ryzen 3700X | 32B | GTX 1080Ti

Permalänk
Medlem
Skrivet av Florrpan:

Har inte tid att gå igenom allt nu, ska iväg en snabbis.
Men en sak du bör kolla på är att kapsla in din sida och börja använda "float" för att positionera sidans struktur, vilken är den standard man använder idag inom webbdesign.

Genom att skapa en container med en max bredd (ex: width: 980px) och sedan placera dina element innanför denna container så blir allt mycket enklare.

Läs på om float:
http://html.net/tutorials/css/lesson13.php

Notera; man använder fortfarande position absolute, men man bör inte sitta och positionera alla element efter top, left, right bottom.
Genom att använda "float" så flyter elementen efter varandra och skapar en mer logisk struktur i bygget. Exempel:
http://html.net/tutorials/css/lesson13_ex2.php

https://www.youtube.com/watch?v=IiJzbXzOdHQ

Nej det vet jag, men inget läggs ju där det ska annars känns det som. Sedan flyttar sig vissa grejer och vissa inte. Jag har ju page som containar i princip hela sidan, om jag sätter den till ex till 60% och sedan header till 100% så går ju bara headern 100 i dem 60, dvs den tar också bara upp 60% av sidan jag kan ju inte lägga den utanför page för då förstörs inkapsulationen. Försökt positinera det rätt i flera timmar, fattar hur det funkar när jag läser om det men känns som att inget funkar i praktiken.

Permalänk
Medlem

width: 100% innebär att ett element får samma bredd som sin förälder. Det innebär inte att elementet blir lika brett som det bredaste elementet på sidan, eller ens lika brett som det bredaste elementet det innehåller (om det innehåller något).

När alla bredder ner till html är ospecificerade är width: 100% lika med den synliga bredden av fönstret/framen. Detta innebär i sin tur att scrollbars kommer uppstå om ett annat element är bredare, och när DET händer kommer du hamna i din situation.

Här är ett exempel, se vad som händer när framen görs mindre än elementet med fast bredd: http://liveweave.com/WOBKgg

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem
Skrivet av Teknocide:

width: 100% innebär att ett element får samma bredd som sin förälder. Det innebär inte att elementet blir lika brett som det bredaste elementet på sidan, eller ens lika brett som det bredaste elementet det innehåller (om det innehåller något).

När alla bredder ner till html är ospecificerade är width: 100% lika med den synliga bredden av fönstret/framen. Detta innebär i sin tur att scrollbars kommer uppstå om ett annat element är bredare, och när DET händer kommer du hamna i din situation.

Här är ett exempel, se vad som händer när framen görs mindre än elementet med fast bredd: http://liveweave.com/WOBKgg

Ja detta förstår jag. Men alltså, jag vill att min header (med menyn, logga och allt) inte ska ändra storlek, bara min content div ska bli mindre eller alternativt också vara fast.

När jag minskar fönstret så sträcker ju min meny ut sig, precis så som du säger och visar, men sätter jag den till en % så resizar ju själva menyn sig också, menyn vill jag ju ska vara helt fast. Så jag kan varken använda procent eller pixlar, hur gör jag då?

Permalänk
Medlem
Skrivet av Baxtex:

Ja detta förstår jag. Men alltså, jag vill att min header (med menyn, logga och allt) inte ska ändra storlek, bara min content div ska bli mindre eller alternativt också vara fast.

När jag minskar fönstret så sträcker ju min meny ut sig, precis så som du säger och visar, men sätter jag den till en % så resizar ju själva menyn sig också, menyn vill jag ju ska vara helt fast. Så jag kan varken använda procent eller pixlar, hur gör jag då?

Det är ju tydligt att du ska använda pixlar istället för procent. Procent är fortfarande relativt till skärmens storlek, om du nu inte wrappar sidan i en centrerad div.

Jag håller på att bygga på ett webbramverk som baseras på en procentuell grid, kolla på exemplet så kanske du förstår lite bättre hur det hänger ihop.
Btw, det är byggt med floats, procent och en wrapper(container) med fast bredd.
http://fredrikw.se/work/grid/

Visa signatur

Canon 70D | 2x Dell Ultrasharp 24" | Ryzen 3700X | 32B | GTX 1080Ti

Permalänk
Medlem
Skrivet av Florrpan:

Det är ju tydligt att du ska använda pixlar istället för procent. Procent är fortfarande relativt till skärmens storlek, om du nu inte wrappar sidan i en centrerad div.

Jag håller på att bygga på ett webbramverk som baseras på en procentuell grid, kolla på exemplet så kanske du förstår lite bättre hur det hänger ihop.
Btw, det är byggt med floats, procent och en wrapper(container) med fast bredd.
http://fredrikw.se/work/grid/

Ja det vet jag, men återigen, sätter jag det i pixlar så trycker den ut sidan när jag minimerar sidan. Och dessutom så hänger det ju inte med content som jag vill ska scrolla.

Tänk ja pröva Sweclockers, content delen trycks ihop till en viss del medans menyn är fast. Min meny är ju nästan fast men den sticker ju fortfarande ut som i mitt op inlägg. Och som Teknocide skrev är det ju pixlarnas fel, men kan inte använda % heller.

Har ju fortfarande page som wrappar allt men såfort jag lagt på den blir det 20x värre. Speciellt eftersom header då inte går att få ut till skärmkanterna eftersom page hindrar den, som jag skrev innan. Visst jag kan väl låta page vara oformaterad och positionera saker utifrån den men vet inte vad det skulle vara bra till..

Permalänk
Medlem

Lägg upp ett fullständigt exempel.
Gärna på Codepen

Permalänk
Medlem

Codepen:

http://codepen.io/anon/pen/IrnoK/

2 Grejer:

1. Förminska fönstret och scrolla i sidled, menyn sticker ut för att den är satt i pixlar. Hur löser jag det?

2. Menyn samt bilden(syns dock inte) ska ligga och följa med min content men gör inte det när man scrollar i sidled.

Permalänk
Medlem

Du vill helt enkelt att hemsidan anpassar sig till mindre enheter?
Du måste ta bort bredden helt från menyn och låta den flyta fritt.
Så länge du sätter en bestämd bredd på en meny så kommer den inte röra sig ur fläcken.

Om du återgår till att kolla på ramverket jag länkade, så kan du testa att förminska webbläsarens bredd.

Visa signatur

Canon 70D | 2x Dell Ultrasharp 24" | Ryzen 3700X | 32B | GTX 1080Ti

Permalänk
Medlem
Skrivet av Florrpan:

Du vill helt enkelt att hemsidan anpassar sig till mindre enheter?
Du måste även ta bort bredden helt från menyn och låta den flyta fritt.
Så länge du sätter en bestämd bredd på en meny så kommer den inte röra sig ur fläcken.

Nej inte direkt, men jag vill inte att den blir helt konstig ifall man använder mindre fönster. Att ta bort widthen på menyn hjälper, men då kommer problemet att den trycker ihop sig, för min del får den gärna fortsätta vara rak.

Permalänk
Medlem
Skrivet av Baxtex:

Nej inte direkt, men jag vill inte att den blir helt konstig ifall man använder mindre fönster. Att ta bort widthen på menyn hjälper, men då kommer problemet att den trycker ihop sig, för min del får den gärna fortsätta vara rak.

Men....
Du vill ha allt men ändå inte? Jag förstår knappt vad du vill längre.
Du sa precis att du inte vill att menyn är utanför, men du vill fortfarande inte ta bort bredden. Du har ett dilemma där.

Det du är ute efter är helt klart en mobilanpassning.
Annars, tänk så här. En webbsida som är 960px bred täcker alla moderna upplösningar idag.

Läste du min edit i förra inlägget?
Hursom; Om du går in på denna länk och ändrar webbläsarens storlek så ser du vad man kan göra med media-query i CSS.
http://fredrikw.se/work/grid/

Man säger helt enkelt åt webbsidans element att t.ex ändra storlek när webbläsarens bredd är XX stor.

Visa signatur

Canon 70D | 2x Dell Ultrasharp 24" | Ryzen 3700X | 32B | GTX 1080Ti

Permalänk
Medlem
Skrivet av Baxtex:

Codepen:

http://codepen.io/anon/pen/IrnoK/

2 Grejer:

1. Förminska fönstret och scrolla i sidled, menyn sticker ut för att den är satt i pixlar. Hur löser jag det?

2. Menyn samt bilden(syns dock inte) ska ligga och följa med min content men gör inte det när man scrollar i sidled.

1. Sätt brädd i pixlar. Om du vill att den inte ska bli större när du förstorar fönstret, sätt max-width
2. Förstår jag inte vad du menar

Permalänk
Medlem
Skrivet av Baxtex:

Codepen:

http://codepen.io/anon/pen/IrnoK/

2 Grejer:

1. Förminska fönstret och scrolla i sidled, menyn sticker ut för att den är satt i pixlar. Hur löser jag det?

2. Menyn samt bilden(syns dock inte) ska ligga och följa med min content men gör inte det när man scrollar i sidled.

1. Den scrollar åt sidan för att du först satt
width: 100%;
men utpå det har du sedan satt en
padding: 15px;
tar du bort paddingen så försvinner felet.
Antingen så tar du bort paddingen, ändrar din width eller tar och kollar in box-sizing. Link för det har du här:
http://css-tricks.com/box-sizing/

2. Förstår inte frågan riktigt, kan du förklara lite bättre eller ge ett exempel?

Visa signatur

| 3700X | B450 Mortar Max | 2070 Super | AX860 | GL850 & UL650 |

Permalänk
Medlem
Skrivet av Florrpan:

Men....
Du vill ha allt men ändå inte? Jag förstår knappt vad du vill längre.
Du sa precis att du inte vill att menyn är utanför, men du vill fortfarande inte ta bort bredden. Du har ett dilemma där.

Det du är ute efter är helt klart en mobilanpassning.
Annars, tänk så här. En webbsida som är 960px bred täcker alla moderna upplösningar idag.

Läste du min edit i förra inlägget?
Hursom; Om du går in på denna länk och ändrar webbläsarens storlek så ser du vad man kan göra med media-query i CSS.
http://fredrikw.se/work/grid/

Man säger helt enkelt åt webbsidans element att t.ex ändra storlek när webbläsarens bredd är XX stor.

Jamen om jag har en bredd på den så är menyn kvar ja, men inte själva bakgrunden till headern, precis som här: http://sv.tinypic.com/view.php?pic=1zqu3k6&s=8

Är 960px+ såpass vanligt idag?

Skrivet av Molo:

1. Den scrollar åt sidan för att du först satt
width: 100%;
men utpå det har du sedan satt en
padding: 15px;
tar du bort paddingen så försvinner felet.
Antingen så tar du bort paddingen, ändrar din width eller tar och kollar in box-sizing. Link för det har du här:
http://css-tricks.com/box-sizing/

2. Förstår inte frågan riktigt, kan du förklara lite bättre eller ge ett exempel?

Hmm prövade att ta bort paddingen och widthen på menyn så försvinner det men har jag fortfarande en width så har jag problemet kvar.

Hmm får sova på saken. Angående fråga två: Vet inte om jag är blind men rör sig inte menyn och loggan när man resizar?

Permalänk
Medlem
Skrivet av Baxtex:

Jamen om jag har en bredd på den så är menyn kvar ja, men inte själva bakgrunden till headern, precis som här: http://sv.tinypic.com/view.php?pic=1zqu3k6&s=8

Är 960px+ såpass vanligt idag?

Återigen, det problemet du pratar om(som bilden illustererar)existerar inte i någon av mina webbläsare.
http://fredrikw.se/work/htmltests/baxtex/

Men nej, du har fel. Vare sig du har 100% eller 960px bredd så kommer du ha en svart bakgrund som täcker den bestämda ytan.

Runt 940-980px är en standard. Vandligt? Äldre skärmar hade mindre upplösningar, om något blir det vanligare med bredare hemsidor

Visa signatur

Canon 70D | 2x Dell Ultrasharp 24" | Ryzen 3700X | 32B | GTX 1080Ti

Permalänk
Medlem
Skrivet av Florrpan:

Återigen, det problemet du pratar om(som bilden illustererar)existerar inte i någon av mina webbläsare.
http://fredrikw.se/work/htmltests/baxtex/

http://feedr.se/upload/baxtex.jpg

Men nej, du har fel. Vare sig du har 100% eller 960px bredd så kommer du ha en svart bakgrund som täcker den bestämda ytan.

Runt 940-980px är en standard. Vandligt? Äldre skärmar hade mindre upplösningar, om något blir det vanligare med bredare hemsidor

Nej alltså inte i fullscren men om man minskar fönsret och scrollar i sidled är det jag menar: http://sv.tinypic.com/view.php?pic=24b0qvn&s=8

Eller är det bara till att skita i? Är ju aldrig någon som kommer göra så ändå men men, tänkte göra en mobilversion med så när fönsret är tja 500px brett eller något så läggs en annan css på så menyn hamnar i toppen istället.

En snabbfråga: Håller på med att styla en meny för en mobil sida, är det vanlig att man använder en annan html fil då som man omdirigeras till?
Har kollat på denna tex: http://blog.teamtreehouse.com/create-an-absolute-basic-mobile... men där behöver jag ju en till html fil bara för mobil.

Kan man på nåt sätt göra så att när man förminskar webbläsar fönsret skickas till den mobila direkt, eller ska man ha dem separerade?..