Czy ramki są "złe"?

w dziale Strony WWW w Operze
Sombria napisał(a):

Trafiłam ostatnio na artykuł http://pornel.net/ramki - czy naprawdę ramki to takie nieeleganckie rozwiązanie? Argumenty wydają mi się przekonujące, ale szkoda mi tego, co mogłabym osiągnąć za pomocą ramek. A to mój problem:
Strona podzielona na dwie częsci - z lewej menu z prawej treść. Problem jest w tym, że menu jest duże a treść poszczególnych pozycji stosunkowo niewielka (ale nie na tyle mała, żeby wczytać całość i tylko wyświetlac przy kliknięciu na link). Dodatkowo w menu można ograniczyć liczbę pozycji przez zaznaczenie kategorii i opcję wyszukiwania.
Wydawało mi się, że ramiki będą wygodniejsze, bo treść jest dużo mniejsza od całej zawartości strony, no i jak sobie coś wyszukam to nie trzeba tego wyszukiwania powtarzać przy każdym klinięciu na wyszukaną pozycję w menu.
A może da się to zrobić w inny sposób?

JeZZ83 napisał(a):

ja swoje meny umieściłem w zewnetrznym pliku JS, a w treści strony mam jedynie wywołanie. menu jest możnaby powiedzieć w tym przypadku trywialne i o ile dobrze zrozumiałem tobie potrzebne jest coś więcej, ale widziałem sporo bardziej zaawansowanych skryptów w necie, rozwijane, drzewiaste, jakie ci potrzeba..
U mnie to wygląda tak: link

daroc napisał(a):

Robiąc menu w JavaScript znowu uniemożliwiasz oglądanie strony osobom nieobsługującym JS. Pornel pisał nie tylko o wadach ramek, ale także o javascript: (void). Twoje zastosowanie JS jest IMVHO nielepsze. Już nawet pomijając zupełnie poprawność pisania stron i całą ideologię dostępności dla wszystkich. Twoja strona po prostu nie zostanie zindeksowana przez wyszukiwarki internetowe.

zielski napisał(a):

Originally posted by Sombria:

Wydawało mi się, że ramiki będą wygodniejsze, bo treść jest dużo mniejsza od całej zawartości strony, no i jak sobie coś wyszukam to nie trzeba tego wyszukiwania powtarzać przy każdym klinięciu na wyszukaną pozycję w menu.
A może da się to zrobić w inny sposób?



Być może nawigacja została, źle zaprojektowana.
Można to menu zrobić na liście i zwijać dla przeglądarek z js, a dla tych z wyłączoną obsługą zostawić rozwinięte.
http://psphome.dhtml.pl
Można też tak: http://www.cssplay.co.uk/menus/dd_valid.html
http://www.alistapart.com/articles/dropdowns/
http://lofotenmoose.info/-/item/depth-of-sequential-navigation Moose gdzieś to ładnie graficznie pokazał. Połazisz po jego stronie to załapiesz jego sposób rozumienia drzewa linków.

Zajec napisał(a):

Originally posted by Sombria:

Strona podzielona na dwie częsci - z lewej menu z prawej treść. Problem jest w tym, że menu jest duże

Jeśli tworzysz stronę w oparciu o elegancki kod, użytkowni nawet dobrze nie zauważy przeładowania całego szablonu. Natomiast mnie doprowadza do szału, gdy otwierając któryś z działów w nowej karcie w tle tracę menu.

JeZZ83 napisał(a):

skoro JS jest "nieelegancki" to jak realizować najlepiej menu, które się może rozrastać, dodatkowe opcje czy rosnąca lista podstron. chodzi mi o wyeliminowanie sytuacji, kiedy każda nowa pozycja w menu jest dodawana na 20-30 podstronachprzymierzam się do czegoś takiego i chciałbym uniknąć blędu. czyli chcę mieć stronę zgodna z "zasadami" a znowu nie babrać się w dodawanie kolejnych pozycji w wielu dokumentach. stosowałem 2 różne rozwiązania i jak widać w obu przypadkach chybiłem... nervous

Sombria napisał(a):

Dziękuję za odpowiedzi.

Originally posted by zielski:

Być może nawigacja została, źle zaprojektowana.


Chyba nie. To menu to około 200 punktów - konkretna numeracja, więc i kolejność, przy czym część zagadnień należy do kilku kategorii, czyli logiczny podział odpada. Niektóre mają podpunkty (i tu mogłoby się przydać jedno z twoich rozwiązań). Myślałam też o tym, żeby to zrobić w zupełnie inny sposób (jakieś podstrony itp.) ale szkoda wysiłku - zagadnień jest za mało i byłoby to komplikowanie prostego i wygodnego (moim zdaniem) rozwiązania.

Originally posted by Zajec:

Jeśli tworzysz stronę w oparciu o elegancki kod, użytkowni nawet dobrze nie zauważy przeładowania całego szablonu.


Chyba masz rację. Całość jest na tyle prosta że nawet z dużym menu nie powinno być problemu.

Został mi jeszcze jeden problem. Menu jest długie w porównaniu z treścią, więc wygodniej jest je umieścić w okienku z suwakiem. Takie okienko da się zrobić w CSS, ale przypadku ramek menu nie jest przewijane, kiedy wybierze się jakąś pozycję. Czy da się tak zrobić bez ramek?

zielski napisał(a):

Originally posted by JeZZ83:

skoro JS jest "nieelegancki" to jak realizować najlepiej menu, które się może rozrastać, dodatkowe


Nie jest nieelegancki. Trzeba go tylko dobrze zastosować.

zielski napisał(a):

Originally posted by Sombria:

Dziękuję za odpowiedzi.

Originally posted by zielski:

Być może nawigacja została, źle zaprojektowana.


Chyba nie. To menu to około 200 punktów - konkretna numeracja, więc i kolejność, przy czym część zagadnień należy


Daj linkę.




JeZZ83 napisał(a):

Jeśli chodzi o to czego szukam to nie musi być to żaden JS, ale tylko coś takiego udało mi sie znaleść aby nie robić ramek i nie gmerać w wielu podstronach, ale jeśli jest jakiś lepszy sposób, to chętnie go sprawdzę, jakieś sugestie??

Zajec napisał(a):

Originally posted by Sombria:

przypadku ramek menu nie jest przewijane, kiedy wybierze się jakąś pozycję. Czy da się tak zrobić bez ramek?

Wiem, że za pomocą JS można przewijać całą stronę - może tymi samymi funkcjami da się przewinąć zawartość div'a.

Originally posted by JeZZ83:

Jeśli chodzi o to czego szukam to nie musi być to żaden JS, ale tylko coś takiego udało mi sie znaleść aby nie robić ramek i nie gmerać w wielu podstronach, ale jeśli jest jakiś lepszy sposób, to chętnie go sprawdzę, jakieś sugestie??

Jest jeden, bardzo popularny od dobrych kilku lat. Nazywa się server side, php, inlcude.

Sombria napisał(a):

Originally posted by zielski:

Daj linkę.


Jeszcze nie mam i pewnie to porwa zanim będę miała smile

W ogóle trudno mi coś więcej o tym powiedzieć. Mój kumpel z biologii prosił mnie o pomoc. Ma umieścić w internecie streszczenie jakiejś broszurki czy skryptu. Pierwszą rzeczą, jaką zaproponowałam to układ standardowy - strona ze spisem treści a na podstronach linki wstecz, dalej, do góry. Ale w ten sposób można zrobić tylko kilka rozdziałow, bo reszta to są wymienione jakieś rzeczy (nie mam zielonego pojęcia co to jest bigsmile). No i chciał, żeby to wyglądało podobnie jak w niektórych słownikach komputerowych, że po lewej słowa, po prawej definicja. Dodatkowo powinna być taka opcja, żeby można było wybrać tylko pozycje z jakiejs grupy i ma być wyszukiwarka. Możliwe, że z tą ilością 200 trochę przesadziłam, ale nie mam tej książki.

Na razie sprawdzam, czy i ewentualnie jak to zrobić, bo może się okazać za trudne.

zielski napisał(a):

Originally posted by Zajec:

Originally posted by Sombria:

funkcjami da się przewinąć zawartość div'a.



A css to już nie ma?

Zajec napisał(a):

Originally posted by zielski:

A css to już nie ma?

Nie widzę.

daroc napisał(a):

Na stronie nie ma konkretnego przykładu...

<p style="width:100px; height:100px; background-color:#DDD;
overflow:scroll; font-size:48px; white-space:nowrap">dlugi tekst

dlugi tekst
dlugi tekst
dlugi tekst</p>

Wklej w źródło dowolnej strony, zapisz i wtedy: tools -> advanced -> reload from cache (swoją drogą kto wymyślił żeby to tak ukryć? u mnie jest to po prostu CTRL+R, ale o ile dobrze pamiętam nie jest to domyślny skrót).

Zajec napisał(a):

Na pewno wczytałeś się, co chcemy osiągnąć? Za każdym załadowaniem strony paski div'a są na początku ustawione.

http://zajec.net/test/autoscrolling

Sombria napisał(a):

Dzięki za rady. Strona powstanie jednak bez ramek smile Przyszły mi one do głowy na tej stronie http://kuchnia.mckornik.com/start.php bo układ podobny, ale jak widać można inaczej.
A przewijanie można zwyczajnie, dzięki etykietom osiągnąć; przynajmniej tak we wstępnych testach mi wyszło - jeszcze posprawdzam. Tylko dziwnie to działa w IE (coś się sypie przy odświeżaniu) :/

zielski napisał(a):

Originally posted by Zajec:

Na pewno wczytałeś się, co chcemy osiągnąć? Za każdym załadowaniem strony paski div'a są na początku ustawione.
http://zajec.net/test/autoscrolling



Chodzi Ci o to, że przewija się do góry czy o to, że są od począku ładowania się tego testu?

Zajec napisał(a):

Scrolle powinny być od początku. My się jednak zastanawialiśmy jak zrobić, aby Opera pokazywałą domyślnie ostatnią linijkę tekstu. Czyli przewinęła prawy suwak w dół.

Jakub81 napisał(a):

Np. ostatnie słowo otaczasz elementem liniowym <span id="przewin"></span> i używasz adresu http://zajec.net/test/autoscrolling#przewin

Zajec napisał(a):

Faktycznie działa :-) Byłem pewien, że tego nie da się osiągnąć. Dzięki :-)

Zainteresowani: http://zajec.net/test/autoscrolling#przewin

Sombria napisał(a):

To podobne do mojego rozwiązania (tylko jak zwykle napisałam to tak, że nie wiadomo o co chodzi o) Etykietami w różnych kursach nazywane są konstrukcje <a name="nazwa"></a>
Jak lepiej w takim razie takie "etykiety" tworzyć: przez id czy name?

Zajec napisał(a):

Zależy czego życzysz sobie używać :-)

Originally posted by http://www.w3.org/TR/REC-html40/struct/links.html:

Destination anchors in HTML documents may be specified either by the A element (naming it with the name attribute), or by any other element (naming with the id attribute).



Czyli name dla <a>, id dla innych znaczników.

Sombria napisał(a):

To dobrze. Już myślałam, że to kolejny przypadek: niby dobrze, ale lepiej robić inaczej smile