CSS3 + HTML5 - Tvoříme kompletní webovou prezentaci

Cílem tohoto článku je vytvořit webové stránky pouze pomocí CSS3 a HTML5 s minimem obrázků. Zaměříme se na kompletní stránky včetně formulářů.

17.12.2010 00:00 | Lukáš Kovařík | přečteno 19237×

Seznámení s naším projektem

Dnes si ukážeme jak vytvořit pomocí CSS3 a HTML5 velice pěkné vebové stránky s použitím pouze jednoho obrázku! Ano čtete správně i přesto že bude použit jen jeden obrázek stránky budou mít zaoblené hrany, barevné přechody a vrhané stíny. Jak už jsem tedy psal našim cílem je základní webová stránka a navíc si ukážeme jak se dělá formulář, který zas graficky trochu vylepšíme bez jdiného obrázku. Takto bude vypadat naše dnešní práce

1 - Hlavička

Do hlavičky se může zahrnout všechno, co vklasickém HTML, ale v našem případě nízké podpory HTML5 v IE, si musíme nasledujícím odkazem zabezpečit, aby náš web správně pracoval i IE. To zabezpečíme následovně:

<!-- Internet Explorer HTML5 kodovani -->

<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

Dále jsem do naší ukázky zakomponoval ještě použítí písma, které má v nabídce google, aby jsme je trochu oživili o ostatních: Celá hlavička pak vypadá takto:

<link href='http://fonts.googleapis.com/css?family=Yanone+Kaffeesatz' rel='stylesheet' type='text/css' />

Nejprave začneme s HTML strukturou,
nejprve si nastavíme element který obaluje celou stránku a do kterého budeme postupně vkládat ostatní elementy, jako u klasického HTML. Dále si připravíme element HEADER ve kterém budou elementy LOGO a NAVIGACE. Navgaci budem tvořit pomocí klasického "ul,li".

Dále si vytvoříme další RAM, ale tentokrát s id obsahu a v tomto elementu bude zahrnut všechen obsah stránky. Využijem i klasickou třídu z HTML4 pro vložení "čary" pod menu. Dále už jen vkládáme elemty BLOK pro jednotlivé položky obsahu, celá struktura obsahové části pak vypadá takto:

<ram id="obsah">

<!-- Obsahova cast -->

<div class="line"></div>

<blok>
<h2>Titulek článku</h2>

<div class="line"></div>

<div class="blokBody clear">

<obrazek>
<a href="#"><img src="img/obrazek.jpg" alt="obrazek.jpg, 27kB" title="obrazek" border="0" height="300" width="405"></a>
</obrazek>

<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer luctus quam quis nibh fringilla sit amet consectetur lectus malesuada. Sed nec libero erat. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc mi nisi, rhoncus ut vestibulum ac, sollicitudin quis lorem. Duis felis dui, vulputate nec adipiscing nec, interdum vel tortor. Sed gravida, erat nec rutrum tincidunt, metus mauris imperdiet nunc, et elementum tortor nunc at eros. Donec malesuada congue molestie. Suspendisse potenti. Vestibulum cursus congue sem et feugiat. Morbi quis elit odio. </p>
</div>
</blok>

</ram>

Nakonec můžeme ještě vložit patičku s elementem FOOTER, ale to už záleží na Vás zda jí tam chcete nebo ne.

V předchozím článku jsem slíbil že si ukážeme jednoduchý formulář pomocí CSS3 a to také dodržím a zde je ukázka jednoduchého formuláře, který je napsán pomocí klasického HTML5.


<form action="#">

<fieldset id="user-details">

<label for="name">Jméno:</label> <br>
<input type="text" name="name" value="" /><br>

<label for="email">Email:</label><br>
<input type="email" name="email" value="" /> <br>

<label for="phone">Telefon:</label> <br>
<input type="text" name="phone" value="" /> <br>

<label for="website">Web:</label> <br>
<input type="url" name="website" value="" />

</fieldset>

<fieldset id="user-message">

<label for="message">Vaše zpráva:</label>
<textarea name="message" rows="0" cols="0"> </textarea>

<input type="submit" value="Odeslat zprávu" name="submit" class="submit" />

</fieldset>
</form>

A teď část stylování pomocí CSS3

Nejprve použijeme jednoduchý CSS reset

*{
/* reset */
margin:0;
padding:0;
}

#header,footer, blok,ram, logo,navigace, obrazek{
display:block;
}

Dále si nastavíme styl "body", já jsem si nastavil velikost, barvu písma, barvu pozadí a typ písma.

body{
font-size: 13px;
color:#fcfcfc;
background-color:#355664;
font-family:Arial, Helvetica, sans-serif;
}

Nyní si definujeme vlastnosti odkazů, nadpisů, odstavce a podtržení.

/* Odkazy */

a, a:visited {
color:#0196e3;
text-decoration:none;
outline:none;
}

a:hover{
text-decoration:underline;
}

a img{
border:none;
}

/* Pisma */

h1,h2,h3{
font-family:"Myriad Pro","Helvetica Neue",Helvetica,Arial,Sans-Serif;
text-shadow:0 1px 1px black;
}

h1{
/* Logo */
font-size: 56px;
padding: 8px 0 0;
text-transform:uppercase;
}

h3{
/* Text sloganu */
font-family:forte,"Myriad Pro","Helvetica Neue",Helvetica,Arial,Sans-Serif;
font-size:32px;
font-weight:normal;
margin:0 0 16px;
}

h2{
font-size:35px;
font-weight:normal;
letter-spacing:4px;
text-transform:uppercase;
}

p{
line-height:24px;
padding-bottom:16px;
}

.line{
height:1px;
background-color:#24404c;
border-bottom:1px solid #416371;
margin:16px 0;
overflow:hidden;
}

blok .line{
background-color:#15242a;
border-bottom-color:#204656;
margin:21px 0;
}

footer .line{
margin:32px 0;
}

Tak a teď asi to nejdůležitější z celého článku

navigace{
background:url(img/gradient_light.jpg) repeat-x 50% 50% #f8f8f8;
padding:0 5px;
position:absolute;
right:0;
top:64px;
border:1px solid #FCFCFC;
-moz-box-shadow:0 1px 1px #333333;
-webkit-box-shadow:0 1px 1px #333333;
box-shadow:0 1px 1px #333333;
}

.clear:after{
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}

/* Navigace */

navigace ul li{
display:inline;
}

navigace ul li a, navigace ul li a:visited{
color:#565656;
display:block;
float:left;
font-size:20px;
font-weight:bold;
margin:5px 2px;
padding:7px 10px 4px;
text-shadow:0 1px 1px white;
text-transform:uppercase;
}

navigace ul li a:hover{
text-decoration:none;
background-color:#f0f0f0;
}

navigace, blok, navigace ul li a,obrazek{
-moz-border-radius:10px;
-webkit-border-radius:10px;
border-radius:10px;
}

/* Styl clanku */

#stranka{
width:960px;
margin:0 auto;
position:relative;
}

blok{
background-color:#213E4A;
margin:48px 0;
padding:20px;
text-shadow:0 2px 0 black;
}

obrazek{
border:3px solid #142830;
float:right;
height:302px;
margin-left:15px;
overflow:hidden;
width:347px;
}

obrazek:hover{
-moz-box-shadow:0 0 2px #4D7788;
-webkit-box-shadow:0 0 2px #4D7788;
box-shadow:0 0 2px #4D7788;
}

obrazek img{
margin-left:-60px;
}

/* Footer */

footer{
margin-bottom:30px;
text-align:center;
font-size:13px;
}


footer p{
margin-bottom:40px;
position:relative;
}

footer a,footer a:visited{
color:#cccccc;
background-color:#213e4a;
display:block;
padding:2px 4px;
z-index:100;
position:relative;
}

footer a:hover{
text-decoration:none;
background-color:#142830;
}

footer a.by{
float:left;

}

footer a.up{
float:right;
}

.clear {
zoom: 1;
display: block;
}
fieldset { border: none; }

Toto by bylo z hlavního rozložení vše a ještě stylování ke slíbenému formuláři:

* Formular*/
#user-details {
float: left;
width: 230px;
}

#user-message {
float: right;
width: 405px;
}

textarea {
width: 390px;
height: 175px;
}
form h1 {
color: #555;
margin: 0 0 20px 0;
}

label {
font-size: 20px;
color: #666;
}


form {
float: left;
border: 1px solid #ddd;
padding: 30px 40px 20px 40px;
margin: 15px 0 0 50px;
width: 715px;
background: #fff;
color: #555;
font-family: 'Yanone Kaffeesatz', arial, sans-serif;

/* -- CSS3 - zaobleni rohu -- */
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border-radius: 10px;
/* -- CSS3 - pozadi a prechod -- */
background: -webkit-gradient(linear, 0% 0%, 0% 40%, from(#EEE), to(#FFF));
background: -moz-linear-gradient(0% 40% 90deg,#FFF, #EEE);
/* -- CSS3 - stin -- */
-webkit-box-shadow:0px 0 50px #ccc;
-moz-box-shadow:0px 0 50px #ccc;
box-shadow:0px 0 50px #ccc;
}

Tak a tímto by mohl být náš web hotov. Zde jsou ke stažení zdrojové soubory

Online verze článku: http://www.linuxsoft.cz/article.php?id_article=1776