ugrás a tartalomhoz

<?xml version="1.0" encoding="utf-8"?> sor szerepe

Blackfriar · 2008. Jan. 10. (Cs), 12.01
Sziasztok!
Na, megint kapok majd a pofámra, de nem baj, már felkészültem rá. :-))
Szóval azután érdeklődnék, mi a szerepe a címben szereplő sornak egy pl. xhtml kód legelején?
Egy iframe-be betöltött oldalam elején az alábbi sorok szerepelnek:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="hu" lang="hu">


Ha az xml-es sort kiveszem, akkor IE6 esetén mindig megjelenik a vízszintes scrollbar (mert a scrolling="auto"-ra szükségem van) függetlenül attól, hogy belefér-e a tartalom vagy sem.
IE7 ill. FF alatt nincs a dolognak hatása.

Akkor hogy is van ez?
 
1

xml verzió

Rici · 2008. Jan. 10. (Cs), 14.52
Ez egy xml formátumú fájl elején helyezhető el, és a használt xml szabvány verzióját és a fájl karakterkódolását adja meg. Azonban használata nem kötelező, és pont az általad megadottak az alapértelmezett értékek. Tehát a legegyszerűbb, ha kihagyod.

Az IE 6 pedig azért működik úgy, mert a szabványkövető mód bekapcsolásához a legelső dolognak a DOCTYPE tagnek kell lennie, és ezért bezavar az xml verzió. IE 7 már az xml verzió után megadott DOCTYPE-ot is érzékeli.
2

na de

Blackfriar · 2008. Jan. 10. (Cs), 15.03
De akkor mit csináljak, hogy a vízszintes scrollbar ne jelenjen meg? Ha kiszedem az xml sort, akkor megjelenik, pedig a tartalomból semmi nem lóg ki, a függőleges scrollbar-ra pedig szükségem van.

Azt még nem is említettem, hogy valid kódról beszélünk. Szóval akkor most mi a túró van?
3

Vízszintes scroll

Rici · 2008. Jan. 11. (P), 01.19
A vízszintes görgetősáv csak akkor jelenik meg, ha valami kilóg, vagy valami body taghez tartozó attribútummal vagy extra css beállítással direkt ezt kéred.

A te esetedben valószínűleg kilóg valami, vagy legalábbis az IE 6 úgy értelmezi, hogy kilóg. Lehet valamennyit, akár nagyon kicsit görgetni a megjelenő görgetősávval, vagy teljesen szürke?
4

lehet görgetni

Blackfriar · 2008. Jan. 11. (P), 07.28
Lehet görgetni, kb. annyit mint a szélső görgetősáv szélessége. Az viszont tuti, hogy nem lóg ki semmi, mert mindkét oldalon messze van minden a széltől (a tartalom középre van rendezve). Az iframe-be több különböző oldal kerül betöltésre és mindegyiknél megjelenik az alsó görgetősáv.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="hu" lang="hu">
<head>
<title>akarmi</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="content-language" content="hu" />
<style type="text/css">
body{background:url(sarga.jpg) repeat fixed;text-align:center;}
p{line-height:100%}
img{border:0px;height:90px;margin:0 2px 5px;}
</style>
<script type="text/javascript" src="js/ts.js"></script>
<script type="text/javascript">
var sor = new Array('adorjas','280','28','45.85026','18.063294','-611','612','-613','614','615','?',
'cserkut','80','24','46.075714','18.136677','086','-087','088','089','090','?',
'dravaivanyi','315','28','45.84681','17.817372','-600','601','602','603','604','605','?',
'godre','247','27','46.286898','17.973344','096','097','-098','099','100','?',
'gorcsony','275','28','45.96973','18.13565','606','607','608','609','-610','?',
'koros','263','28','45.866877','18.082665','616','617','618','619','-620','?',
'manfa','260','30','46.15848','18.22677','091','092','093','094','095','?');
Page(7);
</script>
</head><body>
<p style="line-height:1800%">&nbsp;</p>
</body></html>


A head-ben lévő szkript adataiból a ts szkript tölti fel az oldalt.
Összegezzünk: ha az xml sort eltávolítom, akkor görgetősáv van alul, ha a doctype-ot is törlöm, akkor minden rendben IE6 alatt is. Tehát odajutunk, hogy a doctype-pal van a gond. De mi? Közben ne felejtsük el, hogy valid kódról beszélünk és IE7 ill. FF alatt semmi gond!
5

köszi

Blackfriar · 2008. Jan. 14. (H), 13.07
Hát hölgyek, urak igazán köszönöm a segítséget!
Valaki igazán megírhatta volna, hogy ne erőlködjek, mert az IE6 a hülye.
A W3C ugyanis ezt írja:

Use the following markup as a template to create a new XHTML 1.0 document using a proper DOCTYPE. See the list below if you wish to use another document type.

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
<title>An XHTML 1.0 Strict standard template</title>
<meta http-equiv="content-type"
content="text/html;charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
</head>

<body>

     <p>… Your HTML content here …</p>

</body>
</html>


Nos én pontosan ezt tettem és IE6 alatt fejre is állt minden annak rendje és módja szerint.
Az első sor miatt ugyanis figyelmen kívül hagyta a doctype-ot.
6

megírták

gex · 2008. Jan. 14. (H), 14.05
Ricitől idézek:
Az IE 6 pedig azért működik úgy, mert a szabványkövető mód bekapcsolásához a legelső dolognak a DOCTYPE tagnek kell lennie, és ezért bezavar az xml verzió. IE 7 már az xml verzió után megadott DOCTYPE-ot is érzékeli.