Strona bez ramek a 'css'

HTML to podstawy w dziedzinie tworzenia stron WWW, Style CSS warto opanować, bowiem za ich pomocą można dostosować odpowiednio wygląd swojej witryny WWW. Zagłębiamy się dalej i udostępniamy w tym forum możliwość zadawania pytań o JavaScript.
ODPOWIEDZ
Fuler
Posty: 5
Rejestracja: pt lut 16, 2007 1:18 pm

Strona bez ramek a 'css'

Post autor: Fuler »

Witam. Tworze strone bez ramek w oparciu o include. Czesci stale oraz czesc zmieniajaca sie zawarte sa poprzez include w jednym pliku - index.php. Tylko w nim uzylem odpowiednich znacznikow, m.in.:
<LINK HREF="s.css" REL="stylesheet" TYPE="text/css">
Plik s.css zaklada z kolei, ze pierwotny kolor jakiegos linku to braz, a po najechaniu na niego robi sie pomaranczowy.

Na serwerze jest umieszcony takze plik i.css - kolor linku bialy, po najechaniu pomaranczowy

Poprzednia wersja witryny byla oparta o ramki. Naglowek, menu lewe i stopka odwolywane byly do pliku i.css, dane podstrony do s.css, co wplywalo na 2 rozne kolry linkow (czesc stsla - bialy/pomaranczowy, czesci zmienne - brazowy/pomaranczowy).

Jak zrobic, aby identycznie sprawy mialy sie w przypadku include? Plik glowmy wyglada nastepujaco:
<?php
// zmienna potrzebna do prawidlowego wczytania includowanych plikow
$add_site = true;
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<LINK REL="SHORTCUT ICON" HREF="gfx/favicon.ico">
<TITLE></TITLE>
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=iso-8859-2">
<META NAME="Generator" CONTENT="EditPlus 1.2">
<META NAME="Author" CONTENT="k19">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<LINK HREF="s.css" REL="stylesheet" TYPE="text/css">

</HEAD>

<BODY BACKGROUND="gfx/tlo.gif" TOPMARGIN=0 LEFTMARGIN=0 LINK="#FF8401" VLINK="#FF8401" ALINK="#FF8401">

<STYLE type="text/css">
BODY {
scrollbar-face-color: #F67100;
scrollbar-highlight-color: #CECEB5;
scrollbar-3dlight-color: #CECEB5;
scrollbar-darkshadow-color: #CECEB5;
scrollbar-shadow-color: #CECEB5;
scrollbar-arrow-color: #000000;
scrollbar-track-color: #CECEB5;
}
</STYLE>

<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td width="100%" colspan="3"><?php include "include/naglowek.php"; ?></td>
</tr>
<tr>
<td width="15%" valign="top"><?php include "include/menu_lewe.php"; ?></td>
<td id="nazwa_id" width="82%" valign="top">
<?php
// zmienna $go przekazana metoda GET
$go = $_GET['go'];

// sprawdzamy czy zmienna $go nie jest pusta
if(!empty($go)) {
// sprawdzamy czy plik o danej nazwie istnieje
if(is_file("page/$go.html")) include "page/$go.html";
// jezeli plik nie istnieje wyswietla się komunikat
else echo "<br />Nie ma takiej strony :-(";
}
// jezeli zmienna $go jest pusta wyswietla się strona glowna
else include "page/start.html";

?>
</td>
</tr>
<tr>
<td width="100%" colspan="3"><?php include "include/stopka.php"; ?></td>
</tr>
</table>
</body>
</html>
Zaznacze, ze probowalem kodowac kazda strone odzielnie (menu_lewe.php, stopka.php, naglowek.php itd.), ale to niestety nie daje efektow.

Z gory dzieki za pomoc. Pzdr.
egzemplarz
Nowy
Nowy
Posty: 143
Rejestracja: pt gru 08, 2006 3:46 pm

Re: Strona bez ramek a 'css'

Post autor: egzemplarz »

Nie rozumiesz, chyba różnicy między includowaniem strony a wrzucaniem jej w ramkę. Wrzucając w ramkę, po prostu na jednej stronie wyświetlasz zawartość innej, a includując jakby dodajesz to strony ten kod który zaincludowałeś, a nie tylko go wyświetlasz. Jak coś zaincludujesz to to coś staje się częścią strony do której to zaincludowałeś. Dlatego strony które mają być includowane, nie mają sekcji head, nie mają deklaracji kodowania itd. mają tylko i wyłącznie ten fragment kodu który chcesz dołączyć do strony. Dlatego arkusz stylów ustalony na stronie głównej działa na wszystkie elementy strony, te zaincludowane też. Musisz po prostu zrobić dwie klasy dla linków i umieścić je w jednym arkuszu css.
Fuler
Posty: 5
Rejestracja: pt lut 16, 2007 1:18 pm

Re: Strona bez ramek a 'css'

Post autor: Fuler »

Jestem poczatkujacy w te klocki, dlatego nie bardzo wiem w jaki sposob. W ramach mozliwosci prosze o pomoc.

Tak wyglada zawartosc s.css
td {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 11px;
color: #000000;
}
td a:link {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 11px;
color: #6A3900;
text-decoration: none;
}
td a:visited {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 11px;
color: #6A3900;
text-decoration: none;
}
td a:hover {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 11px;
color: #F67100;
text-decoration: underline;
}
td a:active {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 11px;
color: #F67100;
text-decoration: none;
}
#nazwa_id
{
color: #000000;
}
tomek1234
Posty: 8
Rejestracja: śr lut 14, 2007 4:30 pm

Re: Strona bez ramek a 'css'

Post autor: tomek1234 »

Chodzi o to że jak "includujesz" coś na strone to wszelkie odwołania styli do strony(ktora include-ujesz) przestaja miec znaczenie zostaje tylko sam kod HTML który jest wpisany między <body></body>
Więc może tak opisz style

przykładowy link w menu

Kod: Zaznacz cały

<body>
<a  class="link" href="http://www.onet.pl">onet</a>
</body>
W stylach

Kod: Zaznacz cały

a.link {color:#33FF00;}
nie wiem czy dobrze zrozumiałem i czy o to Ci chodzi.
123456
Zaczyna działać
Zaczyna działać
Posty: 514
Rejestracja: sob paź 28, 2006 1:19 pm

...

Post autor: 123456 »

A nie mozesz po prostu zmienic nazwy klas i id tak aby sie nie powtarzaly w tych dwoch arkuszach styli i oba dolaczyc do strony? :roll:
Fuler
Posty: 5
Rejestracja: pt lut 16, 2007 1:18 pm

Re: Strona bez ramek a 'css'

Post autor: Fuler »

tomek1234 - bez efektow.
123456 - nie wiem czy dobrze zrozumialem, ale oba pliki sa rozne od siebie. i.css oznacza bialy link, ktory po najechaniu robi sie pomaranczowy, s.css - brazowy/pomaranczowy. Oba przypisalem do pliku index.php, nie wiem czy w odpowiedni sposob, po prostu dodalem te linijke:
<LINK HREF="i.css" REL="stylesheet" TYPE="text/css">
ale i wtedy nie widac zadnej poprawy, kolor przy linkach automatycznie robi sie jednakowy dla kazdej czesci witryny.
123456
Zaczyna działać
Zaczyna działać
Posty: 514
Rejestracja: sob paź 28, 2006 1:19 pm

...

Post autor: 123456 »

Nadaj tym <a> jakies id (id musi byc unikalne) i klasy (klasa sie powtarza) bo aktualnie style odwoluja sie do wszystkich. Czyli zrob np. klase biale i klase brazowe i przypisz odpowiednia klase do <a>.

Klasy przypisujesz do linkow w ponizszy sposob:

Kod: Zaznacz cały

<a href="adres" class="nazwa_klasy">anchor</a>
tomek1234
Posty: 8
Rejestracja: śr lut 14, 2007 4:30 pm

Re: Strona bez ramek a 'css'

Post autor: tomek1234 »

To właśnie miałem na myśli :) chodzi o to aby w pliku styli clasa linku o jakims danym kolorze była unikalną nazwą dla całej witryny.
Pozatym, wtedy możesz skorzystać z jednego pliku styli.
koziolek
Przelotem
Przelotem
Posty: 387
Rejestracja: sob paź 21, 2006 10:07 pm
Kontakt:

Re: Strona bez ramek a 'css'

Post autor: koziolek »

Jeżeli chcesz używać nazw unikalnych użyj id.
Fuler
Posty: 5
Rejestracja: pt lut 16, 2007 1:18 pm

Re: Strona bez ramek a 'css'

Post autor: Fuler »

Witam. Zrobilem z tymi klasami i rzeczywiscie, dziala, a to juz jakis krok na przod. Jest jedno "ale". Jesli wrzucam tago typu link:
<a href="www.onet.pl" class="mojaklasa">onet</a>
wszystko jest ok. Z kolei jesli calosc wyglada w ten sposob:
<a href="ind.php?go=informacje" class="mojaklasa">INFORMACJE</a>
czyli, gdy w gre wchodzi plik index.php, sam link jest dokladnie taki, jaki byl wczesniej.
Rozumiem, ze to kwestia juz samego pliku index.php, tylko co nalezy tam poprawic? Jak jest on u mnie zbudowany, widac kilka postow wyzej.

Pozdrawiam i dzieki za dotychczasowa pomoc.
Fuler
Posty: 5
Rejestracja: pt lut 16, 2007 1:18 pm

Re: Strona bez ramek a 'css'

Post autor: Fuler »

Chcialem tylko napisac, ze problem zostal rozwiazny. Rzeczywiscie wszystko tyczylo sie klas i samej zawartosci css. Wczesniej nie dzialalo, poniewaz w nieodpowiedni sposob rozpisywałem style w pliku css. Dzieki za wszystkie wskazowki.
ODPOWIEDZ