3. týden
Transkript
Návrh a tvorba WWW stránek
1/31
Káskádové styly = CSS
• CSS = Cascading Style Sheets = tabulky kaskádových stylů
• na začátku byl stylesheet – soubor pravidel definující vzhled textu
nezávisle na obsahu
• pomocí CSS lze nadefinovat společný vzhled souboru stránek
• v HTML bez podpory CSS vzhled definován pro každou značku
zvlášť, typicky pomocí značky <font>, HTML5 ji již nepodporuje
• nyní standard CSS 2.1 – http://www.w3.org/Style/CSS, reálně CSS 3
• CSS je tvořen pravidly ve tvaru
selektor {
vlastnost1: hodnota;
vlastnost2: hodnota;
...
}
• selektor – seznam značek, kterých se uvedená pravidla týkají
Návrh a tvorba WWW stránek
2/31
Káskádové styly = CSS
Příklady:
h1 {
color:red;
background:yellow;
/* červená barva písma */
/* žlutá barva pozadí */
}
h1,h2,h3 {color:red;}/* pravidla platí pro h1, h2, h3*/
h1 {color:red;} /* alternativní zápis výše uvedeného */
h2 {color:red;}
h3 {color:red;}
ol ol {color:red;} /* 2. úroveň uspořádaného seznamu */
Návrh a tvorba WWW stránek
3/31
CSS – možnosti definice stylů
• lokální definice stylů – platí v rámci značky
• globální definice stylů – platí v rámci HTML dokumentu
• externí definice stylů – lze použít pro libovolný HTML dokument
Při použití různých typů definic se uplatňuje kaskáda v pořadí
LOKÁLNÍ → GLOBÁLNÍ → EXTERNÍ definice
V pořadí EXTERNÍ → GLOBÁLNÍ → LOKÁLNÍ definice se
naopak uplatňuje dědičnost
• výjimkou je nastavení váhy pravidla – má vliv na
vícenásobnou definici stejného stylu pro stejný element
h1 {color: blue !important}
Návrh a tvorba WWW stránek
4/31
Lokální definice stylů
• na úrovni jednotlivých značek HTML
• platí jen v rámci použité značky
• styly se vkládají pomocí atributu style přímo do značky:
<h1 style="color:red;font-size:30px;">Červený nadpis</h1>
definice celého odstavce:
<p style="color:red;font-weight:bold;">Tučný odstavec</p>
definice celé stránky:
<body style="color:red;background:black;">...</body>
Návrh a tvorba WWW stránek
Globální definice stylů
• na úrovni HTML dokumentu
• definice se vkládají do hlavičky dokumentu
• mezi značky <style> a </style>
<head>
<title>Globální definice stylů</title>
<style type="text/css">
h1 {
color:red;font-size:30px;
}
p {
color:red;font-weight:bold;
}
</style>
</head>
5/31
Návrh a tvorba WWW stránek
6/31
Externí definice stylů
• pro jeden či více HTML dokumentů
• nejvýhodnější – společný styl souboru stránek
• snadná změna vzhledu stránek – pouze úprava CSS
• CSS v samostatném souboru
• do HTML se vkládá pomocí nepárové značky <link> v hlavičce
<head>
<title>Externí definice stylů</title>
<link rel="stylesheet" type="text/css"
href="styly.css" media="screen" />
</head>
• atribut rel – specifikuje, že jde o CSS
• atribut type – tzv. MIME typ, specifikace CSS ve formě textu
• atribut href – cesta k externímu CSS souboru
• media – určuje výstupní zařízení
Návrh a tvorba WWW stránek
7/31
Externí definice stylů – atribut media
• určuje, pro jaké výstupní zařízení se má použít specifikovaný styl
media="screen" – zobrazení na monitoru
media="print" – tisk
media="handheld" – mobilní zařízení (nízké rozlišení)
media="aural" – hlasové syntetizéry – lze nastavit hlasitost, barvu
media="all, projection, tv, braille"
Media Queries v CSS3
• styly podmíněné parametry zařízen (rozměry, rozlišení, orientace)
<link rel="stylesheet" href="bigscreen.css"
media="screen and (min-width: 1100px)">
<link rel="stylesheet" href="iphoneandandroid.css"
media="screen and (max-device-width: 480px)">
<link rel="stylesheet" href="iphone4.css" media="only
screen and (-webkit-min-device-pixel-ratio: 2)">
Návrh a tvorba WWW stránek
Základní použití CSS stylů
• barva, případně obrázek na pozadí
• typy písma a jeho formátování
• velikost a obtékání
• okraje, rámečky
• zarovnávání
• seznamy
• styly odkazů
8/31
Návrh a tvorba WWW stránek
9/31
Nastavení pozadí (dokumentu)
• pozadí dokumentu – selektor body
• pozadí buňky tabulky, odstavce, bloku – selektor td, p, div
• pro nastavení barev lze použít předdefinované názvy (17),
hexadecimální tvar (např. #000000 – černá), RGB zápis rgb(255,0,0)
body {
background-color: red; /* nastavení barvy pozadí */
background-color:#0000ff;
/* color:rgb(0,0,255);*/
background-image:url(pozadi.gif); /* obrázek */
}
p {
background-image:url(pozadi.gif);
background-repeat:repeat-x;
background-repeat: no-repeat;
background-position: top right;
background-attachment: scroll (fixed);
}
Návrh a tvorba WWW stránek
10/31
Typy písma a jeho formátování
• barva písma – vlastnost color
• pozadí písma – vlastnost background
h1 {
color:red;
background-color: yellow;
}
• vlastnost font-family
p {
font-family:Arial;
font-family:sans-serif;
font-family:'Arial CE','Verdana CE',Arial,Verdana,
sans-serif;
}
• vlastnost font-size (v jednotkách px, pt, mm, %, em)
p {
font-size:12px;
}
Návrh a tvorba WWW stránek
11/31
Typy písma a jeho formátování
• vlastnost font-weight – tučnost písma (normal, bold, 100-900)
p {
font-weight:bold;
}
• vlastnost font-style – kurzíva (normal, italic)
p {
font-style:italic;
}
• font-variant – kapitálky (normal, small-caps)
• sdružená vlastost font
p {
font: italic small-caps bold 12px arial
}
Kdekoli v HTML dokumentu lze používat klasické značky pro
formátování písma - <b>, <i>, <strong>, <em> atd.
Návrh a tvorba WWW stránek
12/31
Externí fonty
• formou relativní cesty nebo URL
• podporované formáty TTF, OTF, WOFF, latin extended
<style>
div {
@font-face {
font-family: Sansation;
font-family: Sansation;
src: url(sansation_light.woff); }
}
</style>
@import
url(http://fonts.googleapis.com/css?family=Open+Sans&subse
t=latin,latin-ext);
<link
href='http://fonts.googleapis.com/css?family=Open+Sans&sub
set=latin,latin-ext' rel='stylesheet' type='text/css'>
font-family: 'Open Sans', sans-serif;
/* CSS */
Návrh a tvorba WWW stránek
13/31
Icon fonts
• fonty místo obrázků, úspora dat
• IcoMoon App
Návrh a tvorba WWW stránek
14/31
Velikost a obtékání, práce s blokem
• uvedené vlastnosti se vztahují k blokovému elementu
• vlastnost width – šířka rodiče (px, pt, em, %, auto)
• vlastnost height – výška rodiče (px, pt, em, %, auto)
• vlastnost float – umístění obtékaného objektu (left, right, none)
• vlastnost clear – ukončení obtékání objektů (left, right, both, none)
• vlastnost display – především možnost skrytí bloku (např. tisk)
– definice řádkového/blokového prvku
• vlastnost position – nastavení pozice bloku v dokumentu
• vlastnost overflow – nastavení obsahu bloku při při jeho přetečení
(visible, hidden, auto)
• vlastnost figure (figurecaption) – obtékání obrázků (popisků)
Návrh a tvorba WWW stránek
15/31
Okraje a rámečky
• mají význam u blokových elementů
• vlastnost margin – šířka vnějšího okraje (auto, px, pt, em, %)
– margin-top (right, bottom, left)
– u tabulek cellspacing
• vlastnost padding – šířka vnitřního okraje (px, pt, %)
– padding-top (right, bottom, left)
– u tabulek cellpadding
• vlastnost border – rámeček kolem blokového elementu (px, pt)
– border-width (px), border-top-width (atd.)
– border-color
– border-style (solid, dotted, dashed, groove atd.)
border-top: solid 1px red;
Návrh a tvorba WWW stránek
16/31
Okraje a rámečky
border-color:red;
border-style:solid; border-style:dashed;
border: solid green 4px;
border-style:dotted;
• border-width (thin, medium, thick, hodnota)
• border-style (dotted, dashed, solid, double, groove, ridge, in(out)set
• border-color
• border-top, border-right, border-bottom, border-left
• margin, margin-top, margin-right, ... (auto, hodnota, %)
• padding, padding-top, padding-right, ... (auto, hodnota, %)
• box-sizing: border-box
Návrh a tvorba WWW stránek
17/31
Zarovnávání a úpravy textu
• text-align – horizontální zarovnání v bloku (left, right, center)
• vertical-align – vertikální zarovnání v td (top, middle, bottom,
!pouze pro řádkové elementy)
• text-decoration – none, underline, overline, line-through, blink
• text-transform – none, capitalize, uppercase, lowercase
• letter-spacing, word-spacing – mezery mezi písmeny, slovy
• text-indent – odsazení prvního řádku
• white-space (normal, pre, nowrap)– chování „bílých znaků“
Návrh a tvorba WWW stránek
18/31
Ostatní
• nastavení čáry <hr /> – různá podpora prohlížečů, nejlépe takto:
<hr style="border-style:solid; border-width:1px;
border-color:red" width="50%" align="left" />
• border-collapse – v tabulce spojí rámečky sousedních buněk
(collapse)
Návrh a tvorba WWW stránek
19/31
Styly hypertextových odkazů
• (pouze) pro značku <a> existují speciální pseudotřídy
a:link {color:#00ff00;} /* barva nenavštíveného odkazu */
a:visited {color:#00ff00;} /* barva navštíveného odkazu */
a:hover {color:red;} /* barva odkazu pod kurzorem myši */
a:active {color:red;} /* barva odeslanéhho odkazu */
Pseudotřída :hover pro další elementy
<p class=“hover“>Změna textu</p>
pro styl
p.hover:hover {color:red;}
20/31
CSS3 pseudotřídy
li:first-child , li:last-child, li:only-child, li:nthchild(2)
p:nth-last-child(2)
p:first-letter
p:first-line
p:first-of-type, p:last-of-type, p:nth-of-type(2), p:nthof-type(2n+1),
p:only-of-type
p.nth-last-of-type(2)
Návrh a tvorba WWW stránek
21/31
Styly seznamů
• vlastnosti značek <ul>, <ol>,<li>
• list-style-image (url)
• list-style-type (disc, circle, square, decimal, lower-roman, upperroman, lower-alpha, upper-alpha, lower-greek, hebrew, ...)
• list-style-position (inside, outside) – zarovnání
• sdružená vlastnost list-style
ul {
list-style:decimal outside;
}
Návrh a tvorba WWW stránek
Třídy a identifikátory
• efektivní využití vlastních stylů
• třídu kaskádového stylu určuje atribut class
• třídy lze používat v rámci XHTML dokumentu opakovaně
Třídy vztahující se k použité značce
p {color:red;} /* nastavení stylu odstavců */
p.zeleny {color:green;} /* některé budou zelené */
<p>Tento odstavec bude červený.</p>
<p class="zeleny">Druhý odstavec bude zelený.</p>
22/31
Návrh a tvorba WWW stránek
23/31
Třídy a identifikátory
Obecné třídy pro všechny značky
p {color:red;} /* nastavení stylu odstavců */
h1 {color:red;} /* nastavení stylu nadpisu h1 */
.zeleny {color:green;} /* zelené písmo kdekoli */
<p>Tento odstavec bude červený.</p>
<p class="zeleny">Druhý odstavec bude zelený.</p>
<h1>Červený nadpis</h1>
<h1 class="zeleny">Zelený nadpis</h1>
NEBO
<p class="zeleny">Všechno v tomto odstavci, co není jinak
definováno v CSS, bude napsáno zeleným písmem. </p>
Návrh a tvorba WWW stránek
24/31
Třídy a identifikátory
• identifikátor kaskádového stylu určuje atribut id
• v XHTML dokumentu lze identifikátor použít pouze jednou
• spíše pro blokové prvky
#zahlavi {color:green;
/* formát záhlaví stránky */
background:yellow;}
<div id="zahlavi">Záhlaví stránky</div>
Návrh a tvorba WWW stránek
25/31
Značky <div> a <span>
• jediné dvě značky, které nenesou žádný význam (≠ nemají)
• ideální pro potřeby CSS
<div class="obalovaci">
<p>odstavec</p>
<p>další odstavec</p>
...
</div>
<p class="obalovaci">
<p>odstavec</p>
<p>další</p>
...
</p>
• <div> je element blokový, <span> je element řádkový, neboli <div>
před a za sebou zalomí řádek, <span> nikoli
• <div> by se neměl vyskytovat v rámci řádkové značky
Návrh a tvorba WWW stránek
26/31
CSS3 výběr podle atributů
element[atribut*="hodnota"]
element[atribut^="hodnota"]
element[atribut$="hodnota"]
a[href^="https"]
hodnota href začíná https
a[href$=".pdf"]
hodnota href končí .pdf
a[href*="upce"]
hodnota href obsahuje upce
Další CSS3 selektory
http://www.w3schools.com/cssref/css_selectors.asp
Návrh a tvorba WWW stránek
27/31
Výběr nových vlastností CSS3
• uvedené vlastnosti nepodporuje IE<9
HTML5Shiv
border-radius
<div style="-webkit-border-radius:50px; -moz-borderradius:50px; border-radius:50px; width:200px; height:60px;
background-color:#808080; color:#fff; text-align:center;
line-height:50px;">Objekt</div>
box-shadow (horizontálně, vertikálně, šířka, barva)
<div style="-webkit-box-shadow:10px 5px 20px #000; -mozbox-shadow:10px 5px 20px #000; width:200px; height:60px;
background-color:#808080; color:#fff; text-align:center;
line-height:50px; box-shadow:10px 5px 20px
#000;">Objekt</div>
-webkit = safari, opera, -moz = mozilla, -ms = IE
Návrh a tvorba WWW stránek
28/31
text-shadow (jako u box-shadow)
<span style="-webkit-text-shadow:15px 10px 15px #000; -moztext-shadow:15px 10px 15px #000; text-shadow:15px 10px 15px
#000; font-size:50px; color:#808080;">Text</span>
transform (translate)
<style type="text/css">
.objekt{float:left;margin:5px 10px;width:100px;height:60px;
background-color:gray;color:#fff;text-align:center;
-webkit-transition:all 1s ease-in-out; /* typ animace */
-moz-transition:all 1s ease-in-out}
.objekt1:hover{
-webkit-transform:translate(3em,1em);
-moz-transform:translate(3em,1em)}
</style>
<div class="objekt objekt1">translate</div>
<div style="clear:both;"></div>
Návrh a tvorba WWW stránek
29/31
transform (rotate)
<style type="text/css">
.objekt{float:left;margin:5px 10px;width:100px;height:60px;
background-color:gray;color:#fff; text-align:center;-webkittransition:all 1s ease-in-out;-moz-transition:all 1s easein-out;}
.objekt2:hover{
-webkit-transform:rotate(100deg);
-moz-transform:rotate(100deg)}
</style>
<div class="objekt objekt2">rotate</div>
<div style="clear:both;"></div>
Návrh a tvorba WWW stránek
30/31
transform (scale)
<style type="text/css">
.objekt{float:left;margin:5px 10px;width:100px;height:60px;
background-color:gray;color:#fff; text-align:center;-webkittransition:all 1s ease-in-out;-moz-transition:all 1s easein-out;}
.objekt3:hover{-webkit-transform:scale(2);-moztransform:scale(2)}
</style>
<div class="objekt objekt3">scale</div>
<div style="clear:both;"></div>
Návrh a tvorba WWW stránek
31/31
průhlednost (opacity)
<div style="opacity:0.5; width:200px; height:60px;
color:#000; text-align:center; lineheight:50px;background>red;">Průhledný objekt</div>
průhlednost (barevný model RGBA)
<div style="background-color:rgba(100, 0, 0, 0.5);
width:200px; height:60px; color:#fff; text-align:center;
line-height:50px;">Průhledný objekt</div>
sloupce (multiple columns)
<div style=“width:250px;-moz-column-count:2; -moz-columngap:10px; -webkit-column-count:2; -webkit-column-gap:10px;
column-count:2; column-gap:10px;">Text bude rozdělen do
dvou sloupců! </div>
pozadí (multiple backgrounds)
background: url('left.jpg') top left no-repeat,
url('prvni.jpg') top right no-repeat,
url('druhy.jpg') top center repeat-x;
Podobné dokumenty
čtvrtý - šestý týden
Káskádové styly = CSS
• CSS = Cascading Style Sheets = tabulky kaskádových stylů
• na začátku byl stylesheet – soubor pravidel definující vzhled textu
nezávisle na obsahu
• pomocí CSS lze nadefinov...
Studijní opora. - Katedra technické a informační výchovy PdF UP v
množství webových editorů, tzv. WISIWYG (co vidíš, to dostaneš), které umožňují tvořit webové
stránky v podstatě každému. Připomeňme například MS Publisher, Expresion Web 2, Web Page
Maker nebo již...
ladění player6
Je to plocha s definovanou barvou. Ve Flashi může (narozdíl od např. CorelDRAW) výplň existovat nezávisle na čáře. Zní to
divně, ale výplň zde není ohraničena čarou, ale má svoje vlastní uzly spoje...
CSS – Cascading style sheet přehled vlastností selektory
1.1 Formátování textu ............................................................................................................ 2
1.2 Barvy a pozadí v dokumentu ....................................
zadání tutoriálu
radek = soubor.readline()
if True or ’<’ in radek: # HTML tag v řádku
print(radek, end=’’)
soubor.seek(pred_tabulkou) # přesun na pozici v souboru
Out[10]: 2274
NE 40px
hasClass( class )
removeClass( class )
toggleClass( class )
PDF vytvořeno zkušební verzí pdfFactory Pro www.fineprint.cz