bitovod píše:
Funguje to, jen to -alespoň u mne- maličko rozhodilo design stránky. Prohlížeč Firefox 19.0.2, rozlišení 1366x768. Ve Firebugu tam vidím jako problémový element ten input (<input type="text" size="23" name="q">), kdy šířka 23 je trochu nelogicky asi tak 440px, se size 9 to už vypadá normálně.
Jen doplním: V aktuálním Chrome a Opeře je to OK, roztažené je to jak v tom zmíněném FF, tak v IE10, SeaMonkey 2.14.1.
To zmenšení napevno třeba jen na size 9 nebude moc dobré řešení. Ne každý používá ten či onen prohlížeč nebo to či ono rozlišení a jinde pak to editační pole s tím size 9 bude zbytečně malé viz obrázky.
Se size 23 to vypadá v pohodě.
Opera 12.15 se size 23 Příloha:
opera_size23.jpg [ 4.74 KiB | Zobrazeno 1935 krát ]
Ale se size 9 už je to editační pole zas hodně malé.
Google Chrome a IE8 se size 9Příloha:
ie8_size9.jpg [ 4.73 KiB | Zobrazeno 1884 krát ]
Opera 12.15 se size 9Příloha:
opera_size9.jpg [ 4.84 KiB | Zobrazeno 1935 krát ]
Chtělo by tedy řešit nějak univerzálně, aby to v jiných rozlišeních nebylo zas moc malé.
Stránky generované rozhraním diskusního servu JavaScript do stránky tak jako tak vkládají. Pokud to tedy rozhraní diskusního serveru umožňuje mělo by stačit doplnit pro tag
BODY ve stránce událost
onload a v ní zavolat příslušnou funkci nazvanou třeba
set_size(), která bude vložena v JavaScriptu ve stránce a funkce
set_size() pak vhodně nastaví velikost toho editačního pole třeba v závislosti na prohlížeči a aktuálním rozlišení.
Kód:
...
<script type="text/javascript">
...
function set_size()
{
// treba podle prohlizece a rozliseni
if (navigator.userAgent.indexOf('Firefox') >= 0 ||
navigator.userAgent.indexOf('MSIE') >= 0 ||
navigator.userAgent.indexOf('SeaMonkey') >= 0) {
if (screen.width > 1200) {
document.getElementsByName('q')[0].size = 9;
}
}
}
...
</script>
<body onload="set_size()" ...