kazag
22.02.2009, 16:16:47
Mam stronę zapisaną jako .html i działa ładnie, tak samo pod IE tak samo pod FF, K-Meleonem, Operą. Na dodatek się waliduje.
Zapisuję sobie tę stronę do .php. Robie sobie taki myk, że np. menu strony chce includować z osobnego pliku np. menu.php. Wszędzie ładnie działa aż tu nagle pod IE się ry.pie. Cały includowany blok przesuwa mi o x pikseli (na oko to gdzieś ze 20-30) w dół, tak, jakby coś nad tym miało być?
Kiedy np. chce includować sobie metatagi i mam je w osobnym pliku, to przesuwa mi całą treść strony o x px w dół.
Ktoś ma pojęcie, od czego to zależy?
Co mam zrobić? Pisać funkcję wyświetlające menu i includować bibliotekę a potem wyświetlać? Szlag mnie już trafia na to ie.
Nie dołączam plików bo mniemam, że kod html i css jest bez znaczenia, skoro zapisane jako html działa poprawnie, jako .php też do momentu includowania... Mam ustawione doctype rzecz jasna.
suchy1
22.02.2009, 16:19:30
a nie lepiej napisac styl pod IE ?
<!--[if gte IE]>
<script defer type="text/javascript" src="pngfix.js"></script>
<link rel="stylesheet" href="css/styleIE.css" />
<![endif]-->
pngfix.js
/*
Correctly handle PNG transparency in Win IE 5.5 & 6.
<a href="http://homepage.ntlworld.com/bobosola" target="_blank">http://homepage.ntlworld.com/bobosola</a>. Updated 18-Jan-2006.
Use in <HEAD> with DEFER keyword wrapped in conditional comments:
<!--[if lt IE 7]>
<script defer type="text/javascript" src="pngfix.js"></script>
<![endif]-->
*/
var arVersion = navigator.appVersion.split("MSIE")
var version = parseFloat(arVersion[1])
if ((version >= 5.5) && (document.body.filters))
{
for(var i=0; i<document.images.length; i++)
{
var img = document.images[i]
var imgName = img.src.toUpperCase()
if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
{
var imgID = (img.id) ? "id='" + img.id + "' " : ""
var imgClass = (img.className) ? "class='" + img.className + "' " : ""
var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
var imgStyle = "display:inline-block;" + img.style.cssText
if (img.align == "left") imgStyle = "float:left;" + imgStyle
if (img.align == "right") imgStyle = "float:right;" + imgStyle
if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
var strNewHTML = "<span " + imgID + imgClass + imgTitle
+ " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
+ "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
+ "(src=\'" + img.src + "', sizingMethod='scale');\"></span>"
img.outerHTML = strNewHTML
i = i-1
}
}
}
Spawnm
22.02.2009, 16:19:53
wszystkie pliki muszą być jako utf-8 bez BOM.
jak dasz samo utf-8 to ci zrobi margin-top.
kazag
22.02.2009, 16:21:45
suchy - nie rozumiem po co mi to piszesz, napisałem wyraźnie - kod css i html jest poprawny pod IE i FF i waliduje się nawet, wiec nie mam problemu z css.
spawnm - sprawdzam, a możesz mi wytłumaczyć, tak na przyszłość, na czym to polega? Tzn dlaczego kodowanie znaków ma takie znaczenie?
kazag
22.02.2009, 16:25:26
ok, spawnm - pomogło, poszedł "pomógł". Czyli lepiej zapisywać bez BOM?
@Rafał Filipek
wiem jakiego kodu użyć, problem rozwiązał Spawnm
Spawnm
22.02.2009, 16:32:55
Cytat(kazag @ 22.02.2009, 16:21:45 )

spawnm - sprawdzam, a możesz mi wytłumaczyć, tak na przyszłość, na czym to polega? Tzn dlaczego kodowanie znaków ma takie znaczenie?
http://pl.wikipedia.org/wiki/BOMszukanie nie boli