PHP-inkluden bör inte påverka om HTML och CSS ser likadan ut. Antagligen är det något i din HTML- eller CSS-kod som är knasigt. Men du får visa upp koden om du ska kunna få hjälp med problemet.
Du har inte problem med en gammal sida ligger i cachen?
HTML & CSSur HTML, XHTML & CSS
9 svar · 769 visningar · startad av pekna
Hej,
har stött på ett helt stört problem. Först gjorde jag en enkel css layout i en enda sida som grund för en hel sajt. Men när jag delar upp den i flera delar och inkluderar dessa med include eller require i php så kommer det en "top-margin" på sidan på ca 20px som inte var där innan. Tror att jag missat något så jag tar källkoden från IE och stoppar in ett nytt dokument, och då visar webläsaren koden korrekt.
Någon som stött på / läst om något liknande? Är ju inte direkt tilltalad av att behöva ha hela sidhuvudet i varje fil... :x
Det fungerar bra med inkludes varianten i FF2.
Tacksam för hjälp!
PHP-inkluden bör inte påverka om HTML och CSS ser likadan ut. Antagligen är det något i din HTML- eller CSS-kod som är knasigt. Men du får visa upp koden om du ska kunna få hjälp med problemet.
Du har inte problem med en gammal sida ligger i cachen?
Mer info
Hej,
nej ingen cachning. Här kommer mitt problem...
Orginalet utan includes
Orginalet _med_ includes
layout.php är egentligen bara en html-sida med php ändelse.
layout2.php ser ut enlig följande:
<?include("top2.inc.php");?>
Here is the main text
<?include("bottom2.inc.php");?>
Resultatet jag får i IE7:
Layout.php bild
Layout2.php bild
I layout två har du white-space innan din doctype-deklaration, en typisk grej som ie kan reagera på och trigga någon form av icke standardsmode.
Det finns ingen whitespace i någon av filerna. Kan det ha något att göra med att filerna är sparade i UTF-8 format? Då läggs det väl till ett par tecken först i filen för att identifiera fortmatet?
Har nog lösningen
Jepp, det är troligen BOm (Bit Order Mark) för UTF-8 som är problemet. Ska se om min editor, UltraEdit, kanske kan stänga av att den lägger till det. Annars får jag byta till Notepad2 som enligt uppgift sparar filen i UTF-8 utan att lägga till BOM först i filen.
http://www.w3.org/International/questions/qa-utf8-bom
http://us.php.net/include/
Återkommer när jag hunnit prova (troligen ikväll).
Provade att spara filerna i UltraEdit i "UTF-8 NO BOM" och det löser layoutbiten, vilket är bra, men istället så visas åäö fel... Känns de inte igen som UTF-8 längre?
http://www.lyckebyinnebandy.se/demo/layout2.php
Edit: Glöm detta meddelande, sparade filerna en gång till med UTF-8 NO BOM och då fungerade det. Härligt!! :)
Kan tillägga att jag senare bytte editor till Notepad++ eftersom jag inte fick rätt på UltraEdit. Tror att det var UE:s autmatiska igenkännande av UTF-8 mm som ställde till det, för när jag sparade filerna igen med åäö i så byttes de tecknen mot skräp.
I Notepad++ var det barar att välja UTF-8 No BOM och sen köra! :)
Ska inte vara nåt problem med UE .. finns ganska många inställningar om sånt
Som jag skrev innan, berodde nog mer på mig än på UE. Och jag hade inte tålamodet att pilla med alla inställningar, mycket enklar att bara byta editor till en där det var bara att tuta och köra! :)