Professional Documents
Culture Documents
Wykład 2
Style kaskadowe CSS
• Narzędzie do formatowania wyglądu
dokumentów
• Umożliwiają rozdział treści od
formatowania
• Nie wszystkie przeglądarki realizują w
pełni style CSS
Miejsca definiowania styli
• Odrębny plik .css zawierający wzorzec stylu
• Importowanie stylów z innych stron przez
polecenie @import.
• Sekcja <style> .. </style> w nagłówku
dokumentu html
• Sekcja stylu obejmująca fragment tekstu
• Style inline (bezpośrednio w formatownym
elemencie poprzez atrybut STYLE
• Definicje lokalne mają priorytet wyższy od
bardziej globalnych
Wstawianie stylów inline
cecha wartość
Przykład
<div style=""font-family: arial; color: olive; position: relative; left: 300; width: 550">
Fragment dokumentu objęty blokiem DIV
</div>
Definiowanie stylu dla całego
dokumentu
selektor {cecha:wartość}
<head>
<style type="text/css">
<!--
body {margin-left: 1cm; margin-right: 1cm}
p {font-size: 10pt; font-family: Arial, Helvetica;
font-weight: normal}
a {color:green}
-->
</style>
</head>
Importowanie styli
<style>
<!--
@import url("http://www.polsl.pl");
-->
</style>
Definiowanie styli w zewnętrznym arkuszu
arkuszstyli.css
BODY {text-align: justify; margin-left: 1cm; margin-right: 1cm; margin-top: 1cm}
P {font-family: "Arial CE", Arial, Helvetica; font-size: 10pt; font-weight: normal; text-
indent: 3 em}
A {text-decoration: none; color: blue}
H1 {font-size: 24pt}
H2 {font-size: 20pt}
H3 {font-size: 16pt}
H1, H2, H3 {font-family: "Arial CE", Arial, Helvetica; font-weight: bold; color: #808000}
TD {font-family: "Arial CE", Arial, Helvetica; font-size: 10pt; font-weight: normal}
<head>
<title>Moja strona</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
<LINK REL=stylesheet HREF="arkuszstyli.css" TYPE="text/css">
<style type="text/css">
<!--
i {color:gray}
-->
</style>
</head>
<body>
<div style="color:pink”>To <b>jest</b> <i><u>fragment</u></i>
<b style="color:orange”>tekstu</b></div>
</body></html>
Metoda wysyłania
Adres docelowy
</form>
Pola formularza
• Tekstowe <input type="text">
• Radio <input type="radio">
• Checkbox <input type="checkbox">
• Memo <textarea> .. </textarea>
• Lista <select> <option>…</option><option>…
</option> </select>
• Przycisk wysyłającyc <input type="submit">
• Przycisk czyszczący <input type="reset">
• Przycisk ogólny <input type="button">
Metoda wysyłania GET
Dane są doklejane do adresu wywoływanej strony,
GET / HTTP/1.1
Host: szukaj.onet.pl/query.html?imie=Jan&nazwisko=Kowal
User-Agent: Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.6)
Gecko/20040122
Accept: text/xml,application/xml,application/xhtml+xml,text/html;
q=0.9,text/plain;q=0.8
Accept-Language: pl,en-us;q=0.7,en;q=0.3
Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
znak powrotu karetki i wysunięcia strony (CRLF)
Metoda wysyłania POST
Dane są doklejane na końcu pakietu
GET / HTTP/1.1
Host: szukaj.onet.pl/query.html
User-Agent: Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.6)
Gecko/20040122
Accept: text/xml,application/xml,application/xhtml+xml,text/html;
q=0.9,text/plain;q=0.8
Accept-Language: pl,en-us;q=0.7,en;q=0.3
Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
znak powrotu karetki i wysunięcia strony (CRLF)
imie=Jan
nazwisko=Kowal
Skrypty klienckie
Programy osadzone w kodzie HTML
<html>
<head>
<title>Przykład</title>
<script language="JavaScript”>
function Moja()
{
alert("Hello”);
}
</script>
</head>
<body>
<input type="button” value="Przywitaj” onClick="alert(‘Hello’)”>
</body>
Osadzanie JavaScript
W ciele strony. Możemy z jego pomocą dynamicznie generować zawartość.
<html>
<head>
<title>Przykład</title>
</head>
<body>
<script language="JavaScript”>
for (i=1;i<=7;i++)
document.write(i+’<br>’);
</script>
</body>
Osadzanie JavaScripy
Dołączanie zewnętrznego pliku skryptowego.
<script src=funkcje.js.js></script>
Operatory
• Arytmetyczne: +,-,*,/,++,-=,+=,*=,/=
• Porównań: ==,!=,<,>,<=,>=
• Logiczne: &&, ||, !
Zmienna
Zmienne w JavaScript nie mają jawnych typów.
Definicja
Wywołanie
Witaj();
Funkcje
Argumentowa, nie zwracająca wartości
Definicja
Wywołanie
Sumuj(4,5);
Funkcje
Argumentowa, zwracająca wartość
Definicja
Wywołanie
d=Suma(4,2)+Suma(Suma(2,45),12);
Funkcje globalne
Metody
Stałe
Klasa String
<script type="text/javascript">
var str="Hello world!"
document.write(str.indexOf("Hello") + "<br />")
document.write(str.indexOf("World") + "<br />")
document.write(str.indexOf("world"))
</script>
Klasa Date
<script type="text/javascript">
var d = new Date()
document.write(d.toLocaleString())
</script>
Klasa Array
<script type="text/javascript">
var arr = new Array(6)
arr[0] = "Jani"
arr[1] = "Hege"
arr[2] = "Stale"
arr[3] = "Kai Jim"
arr[4] = "Borge"
arr[5] = "Tove„
document.write(arr + "<br />")
document.write(arr.sort())</script>
Jani,Hege,Stale,Kai Jim,Borge,Tove
Borge,Hege,Jani,Kai Jim,Stale,Tove
Document Obiect Model
Opisuje hierarchiczną strukturę obiektów tworzących stronę HTML
Obiekt window
Obiekt reprezentuje okno przeglądarki
window.status="Przykładowy tekst"
Obiekt window
• Metody:
– alert(tekst) (pokazuje okienko informacyjne)
– promp(pytanie, domyslna tresc) (pokazuje okienko zapytania i
zwraca wpisany tekst
– confirm (pytanie) (pokazuje okienko potwierdzeni tak/nie i
zwraca true/false)
– close() (zamyka okno)
– open() (otwiera nowe okno)
– resizeTo() (zmienia rozmiar okna)
– scrollBy() (przewija okno względnie)
– scrollTo() (przewija okno na pozycje)
– navigate("URL") (wczytuje do okna nową stronę)
– moveTo() – przesunięcie okna na pozycję
Metoda open()
Adres Nazwa
window.open(‘http://www.onet.pl’,’ONET’,’menubar=no;location=no’);
Obiekt window
• Metody obsługi czasu:
– setTimeout(czas,wyrażenie) (wykonuje
wyrażenie po podanej liczbie milisekund)
– clearTimeout() (anuluje działanie setTimeout)
– setInterval(czas, wyrażenie) (wywołuje
wyrażenie co podany okres czasu)
– clearInterval() (wyłącza interval)
<html>
<head><title>Zegar</title></head>
<body>
<script language="JavaScript">
window.setInterval(‘window.status=Date().toLocaleString()’,1000);
//setInterval(’status=Date().toLocaleString()’,1000);
</script>
</body>
</html>
<html>
<head><title>Zegar</title></head>
<body>
<script language="JavaScript">
window.setTimeout("alert('Na co czekasz?')",10000);
</script>
</body>
</html>
Obiekt document
Reprezentuje pojedynczy dokument HTML
• Kolekcje
– anchors[] (hiperłącza)
– forms[] (formularze)
– images[] (obrazy)
Obiekt document
• Właściwości
– body
– bgColor
– fgColor
– cookie
– documentElement (korzeń elementów)
– title (tytuł dokumentu)
<html>
<head><title>Zegar</title></head>
<body>
<script language="JavaScript">
var Kolory=new Array('yellow','blue','green','red','gray');
var NrKoloru=01;
window.setInterval("document.bgColor=Kolory[NrKoloru++]; if (NrKoloru>4) NrKoloru=0;",300);
</script>
</body>
</html>
Obiekt document
• Metody
– open() – otwiera dokument do pisania
– clear() – czyści zawartość dokumentu
– close() – zamyka dokument do pisania
– write(), writeln() – pisze do dokumentu
– getElementById(), getElementByName() –
wybiera element wg id lub nazwy
Obiekt document
<html>
• Zdarzenia <head><title>Zegar</title></head>
<script language="JavaScript">
function CzytajKlawisz()
{
alert('Wcisnieto klawisz:'+event.keyCode);
}
document.onkeydown=CzytajKlawisz;
</script>
<body>
Strona
</body>
</html>
<html>
<head><title>Klawiatura</title></head>
<script language="JavaScript">
var y=100;
function Przesun()
{
if (event.keyCode==40) y+=5;
if (event.keyCode==38) y-=5;
document.getElementById('bohater').style.top=y;
}
document.onkeydown=Przesun;
</script>
<body>
<div id="bohater" style="position:absolute; left:100px; top:100px;
background-color:yellow"><img src="bohater.gif"></div>
</body>
</html>
<html>
<head><title>Animacja</title></head>
<script language="JavaScript">
var y=100;
function Przesun()
{
y+=5;
document.getElementById('bohater').style.top=y;
}
window.setInterval('Przesun()',500);
</script>
<body>
<div id="bohater" style="position:absolute; left:100px; top:100px;
background-color:yellow"><img src="bohater.gif"</div>
</body>
</html>
<html>
<head><title>Myszka</title></head>
<script language="JavaScript">
function Przesun()
{
document.getElementById('bohater').style.left=event.clientX;
document.getElementById('bohater').style.top=event.clientY;
}
document.onmousemove=Przesun;
</script>
<body>
<div id="bohater" style="position:absolute; left:100px; top:100px; background-color:yellow">
<img src="bohater.gif">
</div>
</body>
</html>
Obiekt body
document.body.scrollTop=100;
onLoad
Obiekt navigator
Obiekt screen
Obiekt form
Obiekt input
Obiekt select