@rozi:
Robiąc layout za pomocą CSS nie używasz w HTML-u elementów prezentacyjnych. Myśl o HTML-u jak o kodzie, w którym podkreślasz STRUKTURĘ dokumentu. Zastanów się, czym dany element jest i spróbuj to wyrazić w HTML-u. Jeśli jest to prosty, ale duży graficzny nagłówek zajmujący całą górę strony, zawierający nazwę serwisu -- zastosujesz prawdopodobnie h1 (przynajmniej na stronie głównej). Bo to jest NAGŁÓWEK. Jeśli masz menu, czyli kilka powiązanych ze sobą linków, to czym one są? Są "listą linków", więc zastosuj element ul lub ol. A potem się martw, jak to ostylujesz.
rozi napisał(a)
Jeśli próbuję zrobić to w CSS-ie to robię, np.
"; mogę tak robić? czy proponowałbyś inaczej? rozumiem że można zadeklarować to wcześniej bądź w odrębnym pliku.
Dokładnie, trzeba zadeklarować to w osobnym pliku z CSS. Nie używaj w HTML-u atrybutu style.
Ale nie powinieneś także używać tu tabeli. Tabeli można jak najbardziej użyć, ale tylko gdy dane faktycznie tworzą tabelę (pamiętaj: HTML ma mówić, czym jest dany fragment strony, a nie jak ma wyglądać). Czyli jeśli masz na stronie tabelkę z cennikiem lub podsumowaniem wydatków kwartalnych, to jasne -- zrób to na tabeli. Ale gdy chcesz po prostu ustawić jeden element strony jako pasek boczny, a drugi jako główną treść na środku, to NIE używaj tabeli. Bo te elementy nie są tabelami -- używając tabeli chciałbyś tylko wykorzystać możliwości prezentacyjne, jakie daje znacznik
W tym fragmenciku, o który pytasz, używasz width: 20% (tam jest dwukropek, nie znak równości!) i valign=top. Jak wiesz, width: 20% możesz z łatwością przenieść wprost do pliku CSS. A co z valign? Cóż... ono jest zupełnie niepotrzebne! Używając CSS-a do prezentacji, w HTML-u prawdopodobnie miałbyś w tym miejscu nie , tylko jakiś
. W elementach typu div inne elementy są domyślnie pozycjonowane na górze, więc valign jest zbędne. Jeśli chcesz wyrównać tekst do góry, to zawsze możesz użyć własności vertical-align.</p>
A jeśli np. chcesz mieć dwa elementy koło siebie, to możesz w CSS użyć właściwości float. To niestety dość skomplikowane i naprawdę radzę zajrzeć do jakiegoś kursu.
rozi napisał(a)
I co do tego menu... to jak rozdzielić kolejne podpunkty menu nie używając znacznika
Chcesz je rozdzielić poziomymi liniami? Użyj po prostu border-bottom dla poszczególnych linków (gdy mają display: block) lub dla elementów listy. Jeśli będziesz chciał zostawić trochę przestrzeni pomiędzy treścią linku a linią, ustaw jakieś padding-bottom.
Jeśli wciąż pytasz o rozdzielenie w postaci umieszczenia każdego linku w nowej linii (i tylko tyle), to wystarczy dać linkom display: block (czyli: #menu a { display: block; text-decoration: none; }).