|
|
phpBB2 by Przemo
Support forów phpBB2 modified by Przemo
|
|
Przesunięty przez: Polaczek 05-09-2010, 19:19 |
Tworzenie nagłówka - CSS i HTML |
Autor |
Wiadomość |
Polaczek
Pomógł: 351 razy Posty: 2297
|
Wysłany: 18-08-2010, 15:06 Tworzenie nagłówka - CSS i HTML
|
|
|
CSS Top Construction Kit 01
Tworzymy prosty nagłówek w oparciu o CSS i HTML.
No cóż mogę powiedzieć na wstępie... zacznę od tego, że jest to bardzo prosty i dzięki temu jest user-friendly, bo małe nagłówki są bardzo dobre. Poradnik powstał po zobaczeniu przeze mnie nagłówka na pewnym forum, który miał wysokość około 1500px!
Dlaczego właśnie CSS?
Teraz wszystko jest oparte na CSS - jest to szybsze, wygodniejsze i elastyczniejsze. Dosyć napchanych tabel tam gdzie są niepotrzebne i pociętych grafik na 100 części tylko po to, żeby je wstawić w tagi img. Teraz wystarczą dwa obrazki top_bg.png (2,85KB) oraz logo.png (6,6KB). Lekkie prawda? I oto chodzi. Nie będzie się to wczytywać dopóki nie wyjdziesz ze swojej strony.
Potrzebna grafika
Chcę zobaczyć to w akcji
No dobra mam grafikę to od czego zacząć?
Najpierw utwórzmy plik style.css i dodajmy tam na początek taki kod:
Kod: | body {
background: #000;
margin: 0;
} |
Co to robi? Koloruje tło na czarne i ustawia margines na 0 pikseli.
Później tworzymy identyfikator dla tła naszego topu - czyli nagłówka.
Kod: | /**
* Budujemy tło, na którym ma być logo
*/
#top_background {
background: url('top_bg.png') repeat; /* Obrazek tła, który będzie się powtarzał */
width:100%; /* Ustawiamy szerokość na 100% */
height:100px; /* Ustawiamy wysokość na 100px - czyli tyle ile ma nasze tło */
} |
Tło się powtarza nie zjadając przy tym więcej transferu niż oryginalnie ma grafika top_bg.png. Szerokość ustawiona jest na 100%, a szerokość na 100 pikseli - tyle właśnie ma grafika.
Teraz możemy wbudować logo w tło nagłówka.
Kod: | /**
* Budujemy logo
*/
.logo {
background: url('logo.png') no-repeat; /* Logo, niepowtarzające się */
width: 300px; /* Ustawiamy szerokość na 300px - czyli tyle ile ma nasze logo */
height:100px; /* Ustawiamy wysokość na 100px - czyli tyle ile ma nasze logo */
} |
Tło ma wysokość 100 pikseli tak jak tło i szerokość 300 pikseli. Obrazek tła konfigurujemy przez linię background:url('logo.png'). Tutaj obrazek się nie powtarza.
Budujemy wyszukiwarkę.
Kod: | /**
* Budujemy wyszukiwarkę
*/
#top_background form {
margin: -75px 0px 0px 175px; /* Margines */
font-family: Arial; /* Czcionka */
font-size:11px; /* Wielkość czcionki */
color: #fff; /* Kolor czcionki */
}
.search_input {
background: #000; /* Tło */
color: #fff; /* Kolor */
height: 15px; /* Wysokość */
font-size: 11px; /* Wielkość czcionki */
font-family: Arial; /* Czcionka */
border: 1px solid #cacaca; /* Obramowanie */
/* Zaokrąglone rogi 3px */
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
}
.search_icon {
background: url('search_icon.png'); /* Tło przycisku */
background-color: transparent; /* Kolor tła */
border: 0px; /* Obramowanie */
color: transparent; /* Kolor */
/* Wysokosć/szerokość */
width: 17px;
height: 15px;
} |
Element #top_background form odpowiada za położenie i czcionkę, klasa search_input odpowiada za kontrolkę w formularzu wyszukiwarki - czyli jej tło, kolor tekstu, wysokość, rodzaj (nazwę czcionki), obramowanie i zaokrąglone rogi, klasa search_icon odpowiada za ikonkę "wyszukaj", po której kliknięciu zostaniemy przeniesieni do wyników wyszukiwania - można tam ustalić tło przycisku, kolor tła, obramowanie, wysokość i szerokość.
Czas na budowanie nawigacji (menu):
Kod: | /**
* Budujemy nawigację
*/
ul#menu {
list-style: none; /* Żaden typ listy */
margin: -25px 27px 0px 27px; /* Margines: góra, prawa, dół, lewa */
}
/**
* Element menu - typ wyświetlenia
*/
ul#menu li {
display: inline; /* Typ wyświetlenia - w linii */
}
/**
* Element menu
*/
ul#menu li a {
background: #fff; /* Kolor tła */
padding:5px; /* Wielkość dopełnienia */
font-size:14px; /* Wielkość czcionki */
font-family: Arial; /* Nazwa czcionki */
color:#000; /* Kolor czcionki */
text-decoration: none; /* Nie podkreślaj! */
}
/**
* Element menu po najechaniu kursorem
*/
ul#menu li a:hover {
background:#008000; /* Kolor tła */
padding: 5px; /* Wielkość dopełnienia */
font-size:14px; /* Wielkość czcionki */
font-family: Arial; /* Nazwa czcionki */
color:#fff; /* Kolor czcionki */
text-decoration: none; /* Nie podkreślaj! */
} |
Identyfikator menu działający tylko dla tagu ul odpowiada za typ listy i margines (położenie).
Element menu - typ wyświetlania: ta sekcja pozwala na zdefiniowanie w jaki sposób styl ma wyświetlać menu. W tym przypadku będzie to inline, czyli w linii.
Element menu: ta sekcja odpowiada za kolor tła elementu menu, wielkość dopełnienia, wielkość czcionki, nazwę czcionki, kolor czcionki, a także odpowiada za to, żeby link nie został udekorowany podkreśleniem.
Element menu po najechaniu kursorem: ta sekcja odpowiada za kolor tła elementu menu po najechaniu na niego kursorem i wszystko inne - to samo co było w sekcji element menu tylko po prostu po najechaniu na ten element myszką.
To oczywiście nie wystarczy - teraz czas na HTML...
[list]Zaczynamy od utworzenia pliku index.html lub wstawienia tego w overall_header.tpl jeśli chcesz użyć tego menu na swoim forum(ach).
Definiujemy doctype:
I jakby to nazwać, coś bez czego żyć się nie da
Kod: | <html lang="pl">
<head>
<title>__NAZWA__STRONY__</title>
<link rel="stylesheet" href="style.css" type="text/css"> <!-- tutaj includowany jest plik CSS -->
</head> |
Tworzymy ciało dokumentu:
Zaczynamy od tła nagłówka:
Kod: | <div id="top_background"> |
Teraz dodajemy logo:
Kod: | <div class="logo"></div> |
Wyszukiwarka:
Kod: | <form action="search.php" method="post">
<label for="keywords">Wyszukaj:</label>
<input type="text" name="search_keywords" class="search_input">
<input type="hidden" name="show_results" value="topics" checked="checked">
<input type="submit" name="search" value="" class="search_icon">
</form> |
Prawda, że to jest lżejsze od tabel?
Zamykamy tło nagłówka:
Tworzymy nawigację (menu):
Kod: | <ul id="menu">
<li><a href="#">Item 1</a></li>
<li><a href="#">Item 2</a></li>
<li><a href="#">Item 3</a></li>
<li><a href="#">Item 4</a></li>
<li><a href="#">Item 5</a></li>
<li><a href="#">Item 6</a></li>
<li><a href="#">Item 7</a></li>
<li><a href="#">Item 8</a></li>
<li><a href="#">Item 9</a></li>
<li><a href="#">Item 10</a></li>
<li><a href="#">Item 11</a></li>
<li><a href="#">Item 12</a></li>
<li><a href="#">Item 13</a></li>
<li><a href="#">Item 14</a></li>
<li><a href="#">Item 15</a></li>
<li><a href="#">Item 16</a></li>
</ul> |
Ciało dokumentu powinno skończyć się tak:
Koniec
To na tyle. Mogę tylko jeszcze podać kilka ciekawych faktów:
- plik HTML zajmuje 1,04KB
- plik CSS zajmuje 2,11KB
A całość pięknie się prezentuje i łatwo się to edytuje. |
_________________ The Cephei Family
stuff 'n' stuff |
Ostatnio zmieniony przez Polaczek 05-09-2010, 19:19, w całości zmieniany 4 razy |
|
|
|
|
Gadatliwa Kasia
|
|
|
|
zax
Pomógł: 4 razy Posty: 152
|
Wysłany: 18-08-2010, 15:34
|
|
|
No no no, ładnie. Mógłbyś jeszcze powiedzieć jak zrobić, żeby usunąć odstępy ? |
_________________ Na GG pomagam tylko Odpłatnie! [21420191]
Wykonam Layout od 80zł+. |
|
|
|
|
Polaczek
Pomógł: 351 razy Posty: 2297
|
Wysłany: 18-08-2010, 16:07
|
|
|
zax, które odstępy? |
_________________ The Cephei Family
stuff 'n' stuff |
|
|
|
|
dkwi
Pomógł: 2 razy Posty: 29
|
Wysłany: 18-08-2010, 16:19
|
|
|
Odstępy będące skutkiem white space bugu.
Kod: | ul#menu li {
float: left;
} |
Zero nie ma jednostki.
Kod: | background:url('logo.png') no-repeat 0px 0px; |
Jak wyżej, poza tym nie trzeba definiować przesunięcia, gdy ma wynosić 0.
Warto zdefiniować ogólną rodzinę fontów, np. sans-serif
Kod: | list-style-type:none |
list-style wystarczy, oszczędzamy bajty. Tak samo deklaracja typu arkusza CSS (text/css) nie jest wymagana w HTML 5.
Nie wierzę, że to nie rozwali się pod Operą, dlatego używam inline-block
Kod: | <div class="search"> |
Zbędne. Jako kontenera możesz użyć <form>.
Kod: | <div class="logo"></div> |
Elementom, które wedle logiki występują tylko raz, nadajemy ID. Logo może być obrazkiem, a nawet powinno.
Hint: nie radzę robić tego w by Przemo, wszystko się może rozwalić.
Poza tym nie lepiej nadać całemu div-owi ID a potem odnosić się do zawartych w nim elementów przez selektory dziedziczenia? Przecież formularz, lista i obrazek loga są unikalne w tym kontenerze. |
Ostatnio zmieniony przez dkwi 18-08-2010, 16:29, w całości zmieniany 3 razy |
|
|
|
|
Polaczek
Pomógł: 351 razy Posty: 2297
|
Wysłany: 18-08-2010, 16:23
|
|
|
Szczerze mówiąc lepiej wygląda z odstępami.
[ Dodano: 18-08-2010, 17:48 ]
dkwi napisał/a: | Warto zdefiniować ogólną rodzinę fontów, np. sans-serif |
Ja użyłem ariala. Wg mnie starczy
dkwi napisał/a: | list-style wystarczy, oszczędzamy bajty. Tak samo deklaracja typu arkusza CSS (text/css) nie jest wymagana w HTML 5. |
Przyzwyczaiłem się jakoś.
dkwi napisał/a: | Nie wierzę, że to nie rozwali się pod Operą, dlatego używam inline-block |
Hmm działa i pod Operą.
Cytat: | Zbędne. Jako kontenera możesz użyć <form>. |
Faktycznie.
dkwi napisał/a: | Hint: nie radzę robić tego w by Przemo, wszystko się może rozwalić. |
No patrz - ja jakoś tak mam i nic mi się nie rozwala.
Parę rzeczy jest do poprawy. Ogólnie dziękuję - cały czas się uczę.
[ Dodano: 18-08-2010, 17:56 ]
Ok poprawiłem kilka spraw.
Nie mogę jednak poradzić sobie z 0px na margin w sekcji body - gdy zmienie na none to wtedy psuje się i nie ma takiego efektu, jaki był zamierzony.
plik HTML - z 1,07KB na 1,04KB
plik CSS - tyle samo KB |
_________________ The Cephei Family
stuff 'n' stuff |
|
|
|
|
Bucu
Pomógł: 487 razy Posty: 2127
|
Wysłany: 18-08-2010, 19:43
|
|
|
Polaczek, napisałes się, nic tylko pogratulowac. A i tak znajda sie lenie co beda chcieli zeby im za darmo do forum calosc dostosowac i wdrozyc |
_________________ Zanim napiszesz głupi temat, zapoznaj sie z FAQ
Pisanie / Instalacja Modyfikacji / For / CMS , przenoszenie For / CMS / Baz Danych (odpłatnie) - Osoby zainteresowane Proszę o kontakt GG.
Przez GG Pomagam tylko odpłatnie! |
|
|
|
|
Polaczek
Pomógł: 351 razy Posty: 2297
|
Wysłany: 18-08-2010, 20:32
|
|
|
Jeszcze się nie napisałem Dopiero się napiszę przy drugim tutorialu |
_________________ The Cephei Family
stuff 'n' stuff |
|
|
|
|
zax
Pomógł: 4 razy Posty: 152
|
Wysłany: 18-08-2010, 20:45
|
|
|
Polaczek, chodzi mi o te przerwy między obrazkami.
Np. na vBulletin nie ma przerwy. |
_________________ Na GG pomagam tylko Odpłatnie! [21420191]
Wykonam Layout od 80zł+. |
|
|
|
|
Polaczek
Pomógł: 351 razy Posty: 2297
|
Wysłany: 18-08-2010, 20:58
|
|
|
dkwi napisał/a: | Odstępy będące skutkiem white space bugu.
Kod:
ul#menu li {
float: left;
} |
|
_________________ The Cephei Family
stuff 'n' stuff |
|
|
|
|
Misiek [PL]
Pomógł: 82 razy Posty: 430
|
Wysłany: 19-08-2010, 11:22
|
|
|
Temat naprawdę przyda się początkującym lecz proponuje przeniesienie do F.A.Q. - style i grafika |
_________________ instalacja modyfikacji # aktualizacja for # przenoszenie for # naprawa kodowania (krzaczków)
tylko dwie rzeczy są nieskończone - pętla while (TRUE) i ludzka głupota, ale tą pierwszą można przerwać za pomocą break; |
|
|
|
|
arearfdz
Pomógł: 14 razy Posty: 163
|
Wysłany: 12-09-2010, 15:28
|
|
|
hmmmmm a jak ja robie Portfolio to jak zrobić taki coś jak ma np. patryk spec
http://patrykspec.pl/category/download/
chodzi mi o to, że jak ktoś kliknie na logo to może sobie obejrzeć cały styl, podałby mi ktoś taki kod HTML? Proszę |
|
|
|
|
Polaczek
Pomógł: 351 razy Posty: 2297
|
Wysłany: 12-09-2010, 15:55
|
|
|
arearfdz, to jest lightbox js. |
_________________ The Cephei Family
stuff 'n' stuff |
|
|
|
|
arearfdz
Pomógł: 14 razy Posty: 163
|
Wysłany: 12-09-2010, 16:32
|
|
|
Polaczek, no niby fajnie, ale skad to miec? albo jak to zrobic?
i mógłbyś podać jeszcze kod do tego, w jaki sposób się umieszcza tekst? |
|
|
|
|
Polaczek
Pomógł: 351 razy Posty: 2297
|
|
|
|
|
Gadatliwa Kasia
|
|
|
|
arearfdz
Pomógł: 14 razy Posty: 163
|
Wysłany: 12-09-2010, 17:54
|
|
|
Nie dość że nie rozumiem po angielsku to jeszcze nie wiem jak to zrobic.... pliki na serwer wgralem, ale nie wiem gdzie poumieszczac te kody co tam podali i jak to obslugiwac |
|
|
|
|
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum
|
Dodaj temat do Ulubionych Wersja do druku
|
Kopiowanie wszelkich treści zawartych na forum, modyfikacji oraz instrukcji bez zgody administracji i autorów tematów/postów zabronione!
Powered by phpBB modified by Przemo © 2003 phpBB
| Strona wygenerowana w 0,18 sekundy. Zapytań do SQL: 12 | |
|
|