Tvorba webu. Kaskádové styly (CSS) Martin Urza



Podobné dokumenty
Blokový model v CSS:

Přehled základních html tagů

1: Úvod 9. Co a kde v knize naleznete... 9 Zdroje Doporučení pro další studium... 11

Kaskádové styly (CSS) Cascading Style Sheets

CSS vlastnosti - stručný prehľad. Vlastnosti písma. Vlastnosti farby a pozadí. font-family. font-style. font-variant. font-weight. font-size.

CSS - stručná reference kaskádových stylů

Referenční přehled vlastností CSS1 (Cascading Style Sheets, level 1)

PODPORA ELEKTRONICKÝCH FOREM VÝUKY

Rozměry, okraje a rámečky

Káskádové styly = CSS

Cascading Style Sheets CSS Selektory Selektory

O CSS podrobněji. Box model Document flow Layout

Střední průmyslová škola a Vyšší odborná škola technická Brno, Sokolská 1

Tvorba webových stránek

CSS 1. Blokový model Každý element tvoří obdélník. Dva druhy obdélníků: - Blokové; - Vložené. Zde je dlouhý text v kterém nachazí vložené...

Ukázka knihy z internetového knihkupectví

Přehled vlastností stylů

Referenční přehled vlastností CSS1 (Cascading Style Sheets, level 1)

TVORBA WEBOVÝCH STRÁNEK

TNPW1 Cvičení

CSS (Cascading Sytle Sheets) neboli kaskádové styly vznikly jako souhrn metod pro úpravu vzhledu stránek.

TVORBA WEBOVÝCH STRÁNEK

Tvorba webových stránek

Internetové publikování. Doc. Ing. Petr Zámostný, Ph.D. místnost: A-72a tel.: 4222, 4167 (sekretariát ústavu 111)

SkautIS Remote Components absolventská práce

Mimochodem, co je CSS? Formátování HTML. Drobný problém. Základy práce se styly. Trojí použití CSS. Přímo (in-line)

Základy CSS (3. přednáška)

KASKÁDOVÉ STYLY - CSS

CSS Stylování stránek. Zpracoval: Petr Lasák

Jak vytvořit jednoduché webové stránky.

KASKÁDOVÉ STYLY - PÍSMO

Historie. K čemu je to dobré? Začínáme. Úvod do CSS Historie K čemu je to dobré? Začínáme

TNPW1 Cvičení aneta.bartuskova@uhk.cz

CSS styly - úvod. Formátování HTML - Kdy používat CSS - Nástin možností CSS - Trojí použití CSS - Příklady - Syntaxe - Příklad s nadpisem

Tvorba webových stránek

Bloky. Tag Význam Párový. p odstavec nepovinně. br řádkový zlom ne. div oddíl ano. center vycentrování ano. h1 nadpis 1.

Soukromá střední odborná škola Frýdek-Místek, s.r.o. VY_32_INOVACE_135_IVT_HTML_08_tvorba_www

NSWI096 - INTERNET. CSS kaskádové styly. Mgr. Petr Lasák

Kaskádové styly. CSS (Cascading Sytle Sheets) neboli kaskádové styly vznikly jako souhrn metod pro úpravu vzhledu stránek.

CSS styly. Cascading Style Sheets kaskádové styly

CSS Kaskádové styly. formátování webových stránek

INTERSTENO 2013Ghent Mistrovstvísvta v profesionálním word processingu

(X)HTML, CSS a jquery

12. Úvod do CSS (CSS styly)

Styly odstavců. Word Přiřazení stylu odstavce odstavci. Změna stylu odstavce

MODUL 7: TVORBA WEBOVÝCH APLIKACÍ

Tvorba webových stránek

22. Tvorba webových stránek

15. CSS styly (funkce, vývoj, využití). Práce s CSS styly (vkládání do kódu, pravidlo, selektor, dědičnost, kaskády, id a vlastní třídy)

Škola. Téma hodiny HTML - Základní návrh stránky Informační a komunikační technologie

selektor {vlastnost1: hodnota_vlastnosti1; vlastnost2: hodnota_vlastnosti2;}

Kaskadové styly (CSS) VOŠG Hellichova Praha 2010 Jirka Jahoda

Základy HTML. Autor: Palito

Vývoj Internetových Aplikací

Soukromá střední odborná škola Frýdek-Místek, s.r.o. VY_32_INOVACE_92_IVT_HTML_12_nase_www

CSS Cascading style sheet přehled vlastností selektory

Microsoft Office SharePoint Server 2007

Tvorba fotogalerie v HTML str.1

HTML. Úvod do (X)HTML. Tagy značky. Slouží ke strukturování dokumentu (párové a nepárové) <tag atribut1= hodnota atributu > text </tag>

CSS Selektory tříd a ID, dědičnost, další vlastnosti. Formátování HTML dokumentu, které je více či méně oddělené od obsahu Způsoby implementace

CSS Obsah Úvod Základy CSS Základem je dobrý dokument Vytvoření stylopisu... 26

Soukromá vyšší odborná škola a Obchodní akademie s.r.o. České Budějovice Pražská 3. Absolventská práce Petra Pavlyková

Tvorba stránek v HTML ve Wordu

Tvorba www-stránek. Příkazy jazyka HTML. Budeme pracovat následovně: Základní struktura webové stránky. Příkazy sekce HEAD

Tématická oblast: dědičnost, kaskáda. CSS a média. Stylové předpisy pro různé typy zobrazovacích zařízení

Název: VY_32_INOVACE_PG4113 Relativní pozicovaní a jeho využití

Kaskádové styly základy grafiky

Zá klady HTML. Tag HTML <HTML> Párová značka, který definuje webovou stránku. Obsah stránky končí značkou

INTERSTENO 2011 Paris World championship professional word processing

13. Vytváření webových stránek

<html> - párový tag, uzavírá celý dokument <head> - párový, určuje hlavičku dokumentu <body> - párový, uzavírá tělo dokumentu Př. Základní struktura

tvoříme web HTML/CSS

Jemný úvod do HTML. Co je HTML značka? Web nezná text formátovaný mezerami a konci řádku! Ale já potřebuji psát více mezer a určovat zalomení řádku!

Dokument XHTML. Prohlížeč. styl CSS. Výstupní dokument. Soubor DTD

Kaskádové styly 4IZ228 tvorba webových stránek a aplikací

Mgr. Vlastislav Kučera přednáška č. 2

HTML - Úvod. Zpracoval: Petr Lasák

Výukový materiál vytvořen v rámci projektu EU peníze školám. "Inovace výuky" registrační číslo CZ.1.07/1.5.00/

Manuál. pro tvorbu webu. HTML CSS JavaScript

CSS (Cascading Style Sheets) Jak se zapisují? externí soubory s koncovkou.css. přímo do www stránky

Informatika pro moderní fyziky (8) Javascript, CSS - stylování dokumentů, SVG - tvorba obrázků, složitější interaktivní dokument

INTERSTENO 2015 Budapest World championship professional Word Processing

Mgr. Vlastislav Kučera lekce č. 2

APLIKACE XML PRO INTERNET

Webové stránky. 5. Kaskádové styly formátování textu. Datum vytvoření: str ánk y. Vytvořil: Petr Lerch.

Použití CSS v dokumentech HTML

CSS Obsah Úvod Základy CSS Základem je dobrý dokument Vytvoření stylopisu... 26

Dokument ve formátu webové stránky vytvořený pomocí XHTML a CSS

Všechny značky musí být vzájemně správně vnořeny <i><b>špatně</i></b> <i><b>správně</b></i>

absolutní (úplná) začíná lomítkem nebo pouze v odkazech na jiný web. relativní popisuje cestu od html stránky k cílovému souboru.

2.8.1 Nejdůležitější a nejpoužívanější <meta /> elementy Ostatní Znakové entity kontejnery komentáře...

Odkazy se v normálním případě podtrhávají samy, není nutno to nastavovat.

25. TVORBA HTML DIALOGŮ PRO PEVNÉ TVARY

Formátování odstavce, odrážek a číslování Návod a náhled správného řešení

Úvod do jazyka HTML (Hypertext Markup Language)

Techniky rozvržení KAPITOLA 2

6. Formátování: Formátování odstavce

Informatika pro moderní fyziky (8) CSS - stylování dokumentů, SVG - tvorba obrázků, složitější interaktivní dokument

HTML. Verze Obsah:

Transkript:

Tvorba webu Kaskádové styly (CSS) Martin Urza

Motivace Proč používat kaskádové styly k formátování HTML? Dovolují více možností formátování než klasické HTML atributy a stále přibývají další (možnosti). Umožňují jednou definovat formátování a opakovaně jej používat (na jiném webu a/nebo jiných stránkách). Pro dynamicky generované stránky lze za pomoci CSS snadno vytvořit různé vzhledy pro různé uživatele. Vzhled stránek lze oddělit od obsahu, který je možné umístit do jiného souboru. Pomocí kaskádových stylů je možné vyřešit kompletně celý layout stránek. Frikulíni (free, cool & in) používají zásadně CSSko ;o))

Syntax samotného CSS CSS nabízí mnoho vlastností, kterým lze přiřazovat různé hodnoty (každá vlastnost má doménu hodnot). Syntakticky zápis přiřazení je vlastnost: hodnota. Jednotlivé CSS výrazy jsou odděleny středníky: vlastnost: hodnota; vlastnost: hodnota Příklady vlastností CSS: font-variant, font-size. Příklady hodnot: font-variant má hodnoty normal a small-caps (kapitálky); font-size má (kromě jiného) hodnoty small, medium, large (a mnoho dalších). Příklad: "font-variant: small-caps; font-size: large" Text bude kapitálkami a navíc velký na výšku (šířku).

Přímý zápis CSS Kaskádové styly lze zapsat do atributu style k HTML tagu. Je důležité rozlišovat atributy HTML tagů od CSS vlastností!!!! Typicky lze požadovaného výsledku dosáhnout oběma cestami. Atributy HTML tagů se zapisují: atribut="hodnota". CSS výrazy se mají jiný zápis: atribut: hodnota. Celý zápis CSS výrazu patří do hodnoty atributu style nějakého HTML elementu!!!! <p style="font-size: large; font-variant: small-caps"> Text v odstavci bude kapitálkami a navíc velký.

Nepřímý zápis CSS Jsou dvě možnosti nepřímého zápisu CSS výrazů: Do hlavičky HTML dokumentu do tagu style. <style> CSS výrazy </style> Do souboru, na který se odkazuje tag v hlavičce: <link rel="stylesheet" type="text/css" href="styl.css" /> V atributu href je URL souboru, tentokrát jen "styl.css". Text ve všech odstavcích bude velkými kapitálkami: <style> p {font-variant: small-caps; font-size: large} </style> <link rel="stylesheet" type="text/css" href="a.css" /> Obsah a.css: "p {font-variant: small-caps; font-size: large}"

Příklady nepřímého zápisu CSS Řekněme, že chceme nastavit vzhled nadpisů celého HTML dokumentu tak, aby nadpisy stejných úrovní vypadaly stejně. <style> h1 {font-variant: small-caps; font-size: xx-large;} h2 {font-variant: small-caps; font-size: x-large;} h3 {font-variant: normal; font-size: x-large;} h4 {font-variant: normal; font-size: large;} h5 {font-variant: normal; font-size: medium;} h6 {font-variant: normal; font-size: small;} </style> Totéž lze napsat do souboru (místo do elementu style). Všimněte si, jak snadno lze vzhled nadpisů změnit bez jediného zásahu do HTML dokumentu!

Další možnosti deklarace v nepřímém zápisu Hromadná deklarace. Chceme-li deklarovat nějaké vlastnosti pro více tagů, napíšeme je na jednu řádku a oddělíme čárkou: <style> h1, h2, h3, h4 {font-size: large} </style> Nadpisy h1, h2, h3 a h4 budou všechny velkým písmem, což lze zapsat i na čtyři řádky pro každý nadpis zvlášť. Kontextová deklarace. Pro deklaraci vlastností tagu uvnitř jiného tagu jejich názvy uvedeme za sebou a oddělíme mezerou: <style> h2 a {font-variant: small-caps} </style> Odkaz v nadpisu druhé úrovně bude kapitálkami, avšak ostatních odkazů se to nijak nedotkne. Zanoření může být libovolně hluboké (více tagů v sobě).

Pseudoelementy Pseudoelement označuje nějakou speciální oblast elementu, pro kterou lze nastavit nějaké vlastnosti kaskádových stylů; ta se může týkat například jen prvního řádku či prvního písmena. <style> p:first-line {font-variant: small-caps} p:first-letter {font-size: large} </style> První řádka všech odstavců bude kapitálkami a každé první písmeno v každém odstavci bude velké. Některé elementy mají speciální pseudoelementy. Tag a má tyto pseudoelementy: link (normální odkaz), visited (navštívený odkaz) a hover (odkaz pod myší).

Třídy a identifikátory Doposud jsme nepřímými zápisy nastavovali pouze vlastnosti všem elementům nějakého jména. Někdy můžeme chtít nastavit vlastnosti pouze nějaké skupině elementů (či jen jednomu konkrétnímu tagu). Každý HTML element může mít atributy class a id, jehož hodnotu si volíme (vymýšlíme) sami. Stejná hodnota id nemůže být přiřazena více různým elementům, hodnota class ano (nesmí být více tagů se stejným identifikátorem, ale stejné třídy ano). V CSS výrazu značíme třídu tečkou (.) následovanou jménem dotyčné třídy, identifikátor pak křížkem (#), který je také následován jménem třídy.

Příklad použití tříd a identifikátorů <style>.dulezite_sdeleni {font-size: large} #nejdulezitejsi_sdeleni {font-variant: small-caps} </style> Pak každý element (může jich být více) s atributem class s hodnotou dulezite_sdeleni bude svůj textový obsah zobrazovat velkým písmem. Př.: <p class="dulezite_sdeleni">tučný odstavec</p> Jeden jediný element (nutně unikátní) s atributem id s hodnotou nejdulezitejsi_sdeleni bude svůj textový obsah zobrazovat kapitálkami. Př.: <p id="nejdulezitejsi_sdeleni">kapitálky</p>

Cvičení Napište stránku (nebo použijte nějakou existující) a její vzhled upravte podle následujících parametrů: Alespoň jednou užijte přímý zápis CSS (atribut style). Pomocí nepřímých zápisů v tagu style v hlavičce HTML stránky definujte vzhled všech úrovní nadpisů. Ve zvláštním souboru (pomocí nepřímých zápisů CSS) definujte vzhled alespoň dvou tříd a identifikátorů. Alespoň jednu třídu použijte pro více elementů. Použijte kontextovou a hromadnou deklaraci a ověřte, zda fungují (použijte element i mimo kontext). Alespoň jednou použijte pseudoelement. Nemusíte formátovat více než font-size a font-variant.

Elementy div a span Tagy div a span se nazývají neutrální, protože samy o sobě nemají žádný význam, nic nedělají, respektive div na svém konci odřádkuje, span nedělá opravdu vůbec nic. Primární použití tagu div je, že do něj lze obalit více jiných elementů (například více odstavců nemůžete zabalit do odstavce, ale do divu ano). Tag span se používá typicky pro obalení nějakého kusu textu (neodřádkuje za sebou). Elementy div a span lze dobře využívat v kombinaci s kaskádovými styly (nastavením atributů class, id, případně style).

Nadužívání tagů div a span Tagy div a span lze v kombinaci s kaskádovými styly pohodlně používat místo většiny ostatních elementů jazyka HTML, což nemusí být vždy vhodné. Elementy jazyka HTML lze v zásadě rozdělit na dvě skupiny: Tagy, které udávají vzhled svého obsahu. Příklady: font, b, small, strike,. Tagy, které určují obsah (smysl, sémantiku) obsahu. Příklady: p, cite, code, q,. První skupinu je velmi žádoucí formátovat styly. Při nahrazení tagů druhé skupiny pak z kódu HTML stránky není patrný obsah, což je nepraktické.

Vlastnosti kaskádových stylů Doposud jsme používali jen dvě CSS vlastnosti, což stačilo pro objasnění způsobu práce s kaskádovými styly. Vlastností kaskádových stylů je pochopitelně hodně, každá má i mnoho různých možných hodnot, které mohou být vlastnosti přiřazeny. Pro každou vlastnost existuje jedna defaultní hodnota, která je vlastnosti implicitně přiřazena v případě, že vlastnost ve stylu vůbec nebyla uvedena. Na následujících slajdech budou uvedeny další CSS vlastnosti a jejich možné hodnoty, mezi nimiž bude vždy podtržena hodnota defaultní.

Vlastnosti fontů font-family (seznam fontů oddělených čárkami): font textu; nemá-li klient první, je zvolen další a tak dále font-style (normal/italic/oblique): normalní, kurzíva, skloněné font-variant (normal/small-caps): normální, kapitálky font-size (výška v pixelech/procento/xx-small/x-small/small/ medium/large/x-large/xx-large): velikost písma font-weight (lighter/normal/bold/bolder/100/200/300/400/ 500/600/700/800/900): tloušťka písma (lze vyjádřit i číslem) line-height (normal/výška v pixelech/násobek/procento): výška řádky; násobky a procenta vzhledem k velikosti písma font (font-style font-variant font-weight font-size/line-height font-family): shrnuje vlastnosti fontu do jedné, je však nutné uvést je v daném pořadí, př.: italic normal bold large/1.5 Arial color (barva jako v HTML): barva písma, udává se jako v HTML

Vlastnosti textu text-decoration (none/underline/overline/line-through/blink): nic, podtržení, nadtržení, přeškrtnutí, blikání (pozor na různé blogýsky, používat s rozmyslem) text-transform (none/capitalize/uppercase/lowercase): nic, první písmeno každého slova velké, celý text velkými písmeny, celý text malými písmeny word-spacing (normal/délka v pixelech): mezera mezi slovy; v případě zadání délky nebude standardní mezera nahrazena, nýbrž zvětšena o délku (lze zadat záporné číslo) letter-spacing (normal/délka v pixelech): mezera mezi znaky; funguje stejně jako word-spacing white-space (normal/pre/nowrap): nic, text bude na stránce zobrazen jako ve zdroji (například mezery, odřádkování,.), text nebude zalamován (automatické konce řádek)

Vlastnosti odstavců text-align (left/right/center/justify): zarovnání textu vertical-align (beseline/sub/super/top/text-top/middle/ bottom/text-bottom/procento): nic, dolní index, horní index, co nejvýše, vršek k vršku textu, střed ke středu textu, co nejníže, spodek ke spodku textu, procento výšky; některé z hodnot budou v normálním textu vypadat stejně text-indent (délka/procento): velikost odsazení prvního řádku v odstavci display (block/inline/list-item/none): text se má zobrazit jako odstavec, zarovnaný do řádku, seznam, neviditelný (schovaný) text-align-last (left/right/center/justify/auto): zarovnání textu v poslední řádce odstavce (auto znamená hodnota text-align) text-kashida-space (procenta): zvláštní způsob zarovnání textu (něco jako např. justify), čím více procent, tím více se projeví

Vlastnosti pozadí background-color (transparent/barva jako v HTML): průhlednost, barva pozadí (jakéhokoliv objektu nejen body) background-image (none/url('url obrázku')): obrázek na pozadí tagu (opět jakéhokoliv objektu), př.: url('./img/x.png') background-repeat (repeat/no-repeat/repeat-x/repeat-y): pozadí se opakuje, neopakuje, opakuje doleva, opakuje dolu background-attachment (scroll/fixed): má smysl jen u pozadí stránky, fixed pozadí zůstává na místě a vypadá divně background-position (left/center/right/délka v px/procenta top/center/bottom/délka v px/procenta): dvě hodnoty pro vertikální a horizontální pozici (oddělené mezerou) background (background-image background-repeat background-attachment background-color background-position): všechny vlastnosti pozadí oddělené mezerami (jako u fontu)

Vlastnosti rámečků a okrajů border-width, border-top-width, border-bottom-width, borderleft-width, border-right-width (thin/medium/thick/délka): slabá, normální, tlustá, nastavená délka rámečku (případně jen jeho horní, spodní, levé, pravé části) border-color (barva jako v HTML): barva rámečku border-style (none/dotted/dashed/solid/double/groove/ ridge/inset/outset): různé podoby vzhledů rámečků border, border-top, border-bottom, border-left, border-right (border-width/border-style/border-color): všechny vlastnosti rámečků v jedné (podobně jako u fontu) margin, margin-top, margin-bottom, margin-left, margin-right (auto/délka/procento): šířka vnějších okrajů padding, padding-top, padding-bootom, padding-left, paddingright (auto/délka/procento): šířka vnitřních okrajů

Vlastnosti seznamů list-style-type (disc/decimal/lower-alpha/upper-alpha/none/ circle/square/lower-roman): vzhled odrážek v seznamu (puntík, číslo, písmeno, velké písmeno, nic, kroužek, čtverec, malá římská číslice) list-style-image (none/url('url')): obrázek místo odrážky v seznamu (přebíjí list-style-type) list-style-position (inside/outside): odrážky jsou zarovnané s textem, nebo jsou posunuté doprava list-style (list-style-type list-style-position list-style-image): souhrn všech vlastností listů (jako u fontu) Použití všech těchto vlastností se předpokládá u elementů seznamů, tedy například li a podobně. Seznamy jsou typickým případem, ve kterém není moc vhodné použití přímého zápisu stylů.

Vlastnosti velikosti width (auto/šířka v pixelech/procento): šířka elementu, auto znamená přizpůsobení obsahu height (auto/šířka v pixelech/procento): výška elementu, auto znamená opět přizpůsobení obsahu; tato vlastnost lze nastavit pouze blokovým tagům (což je třeba div) max-width, min-width, max-height, min-height (šířka v px/ procento): minimální a maximální šířka a výška; minimální funguje bez problémů (objekt je buď zvětšen na minimální hodnotu, nebo se přizpůsobí obsahu, je-li tento větší), použití maximální hodnoty (jedné) může způsobit protažení objektu do druhého rozměru, použití obou řeší overflow overflow (visible/hidden/scroll/auto): nevejde-li se element do stanovených rozměrů, lze přesahující část buď nechat přetéct, schovat, vždy nechat scrollovat, nebo jen když je třeba (auto)

Další vlastnosti CSS Výše zmíněné CSS vlastnosti tvoří jen malou část z celé množiny všech vlastností, které existují. Protože jsou vlastností (malé) stovky a přibývají nové (případně nové hodnoty starých vlastností), stačí mít po ruce nějaké základní a na ostatní se ptát pana Googla. Výše uvedené vlastnosti pokrývají skoro všechny ze základních potřebných oblastí krom vlastností, které jsou potřebné pro pozicování stránky pomocí CSS. Pozicování pomocí kaskádových stylů (CSS layout) bude objasněno na příští přednášce poté, co si osvojíte základy zápisů CSS.

Cvičení Vezměte nějakou hodně rozsáhlou HTML stránku se smysluplným obsahem (třeba z Vašeho minulého webu těch osmi stránek, případně z webu, nebo ji vytvořte) a celou ji (s výjimkou pozicování) formátujte pomocí CSS vlastností tak, aby vypadala stejně jako předloha. Dbejte na to, aby přímé a nepřímé CSS zápisy byly použity rozumně. Typické nerozumné použití spočívá v přímém zápisu místo nepřímého, opačné chyby typicky nenastávají, i ač samozřejmě vyloučeny nejsou. Snažte se o přehledný kód (díky CSS to jde snadno).

Rekapitulace Vnímejte rozdíl mezi klasickým formátováním za pomoci atributů tagů a mezi CSS vlastnostmi, jež samy o sobě nejsou atributy HTML elementů!!!! Vlastnosti kaskádových stylů lze zapisovat přímým i nepřímým zápisem (nepřímý navíc lze provést jak do hlavičky dokumentu, tak do zvláštního souboru). Typicky je vhodné většinu vlastností uvádět nepřímým zápisem a ideálně takovým, který je oddělen v souboru.css mimo samotný HTML dokument. Kaskádové styly jsou velmi mocný nástroj, za pomoci kterého lze naformátovat vše, čeho lze dosáhnout s atributy HTML tagů a ještě mnohem více.