publikuj: Opublikuj w wykop.pl Opublikuj we flaker.pl Opublikuj na OSnews.pl Opublikuj w delicious wydrukuj
skomentuj »

TAGI: tips & tricks , jquery , css

2012-02-20 19:50  |  Paweł Gazda

Jak zrobić zakładki w CSS3 i jQuery?

Jak zrobić zakładki w CSS3 i jQuery?

W tym tipsie zobaczycie, jak łatwo zrobić fajnie wyglądającą stronę z zakładkami. Potrzeba nam tylko odrobina HTML'a, odrobina CSS3 i szczypta jQuery. Do dzieła!

Zacznijmy od sprawdzenia dema tego co chcemy osiągnąć, znajduje się ono TUTAJ.

Zaczynamy od kodu HTML, którego nie trzeba nikomu wyjaśniać. Atrybut title może wydawać się zbędny, ale będzie potrzebny w późniejszym czasie:

<ul id="tabs">

<li><a href="#" title="tab1">One</a></li>

<li><a href="#" title="tab2">Two</a></li>

<li><a href="#" title="tab3">Three</a></li>

<li><a href="#" title="tab4">Four</a></li>

</ul>

<div id="content">

<div id="tab1">...</div>

<div id="tab2">...</div>

<div id="tab3">...</div>

<div id="tab4">...</div>

</div>

Przechodzimy zatem do CSS. W kodzie w celach przykładowych ustawiono wymiary, które oczywiście można modyfikować:

 

#tabs{

overflow: hidden;

width: 100%;

margin: 0;

padding: 0;

list-style: none;

}

#tabs li{

float: left;

margin: 0 .5em 0 0;

}

#tabs a{

position: relative;

background: #ddd;

background-image: linear-gradient(to bottom, #fff, #ddd);

padding: .7em 3.5em;

float: left;

text-decoration: none;

color: #444;

text-shadow: 0 1px 0 rgba(255,255,255,.8);

border-radius: 5px 0 0 0;

box-shadow: 0 2px 2px rgba(0,0,0,.4);

}

#tabs a:hover,

#tabs a:hover::after,

#tabs a:focus,

#tabs a:focus::after{

background: #fff;

}

#tabs a:focus{

outline: 0;

}

#tabs a::after{

content:'';

position:absolute;

z-index: 1;

top: 0;

right: -.5em;

bottom: 0;

width: 1em;

background: #ddd;

background-image: linear-gradient(to bottom, #fff, #ddd);

box-shadow: 2px 2px 2px rgba(0,0,0,.4);

transform: skew(10deg);

border-radius: 0 5px 0 0;

}

#tabs #current a,

#tabs #current a::after{

background: #fff;

z-index: 3;

}

#content

{

background: #fff;

padding: 2em;

height: 220px;

position: relative;

z-index: 2;

border-radius: 0 5px 5px 5px;

box-shadow: 0 -2px 3px -2px rgba(0, 0, 0, .5);

}

Nie pozostaje już nic innego jak kod jQuery:

 

<script src="http://code.jquery.com/jquery-1.6.3.min.js"></script>

<script>

$(document).ready(function() {

$("#content div").hide(); // Initially hide all content

$("#tabs li:first").attr("id","current"); // Activate first tab

$("#content div:first").fadeIn(); // Show first tab content

$('#tabs a').click(function(e) {

e.preventDefault();

$("#content div").hide(); //Hide all content

$("#tabs li").attr("id",""); //Reset id's

$(this).parent().attr("id","current"); // Activate this

$('#' + $(this).attr('title')).fadeIn(); // Show content for current tab

});

})();

</script>

To wszystko, jeszcze raz podajemy lokalizację do dema - TUTAJ.

źródło: red-team-design.com

---

Jeśli dostrzegłeś błąd w tipsie, daj nam znać pisząc pod TEN adres e-mailowy.

publikuj: Opublikuj w wykop.pl Opublikuj we flaker.pl Opublikuj na OSnews.pl Opublikuj w delicious wydrukuj
skomentuj »

Polecane książki

Czytaj Webhosting

Chcesz być na bieżąco z naszymi informacjami? Zapisz się na Newsletter.

Zarejestruj domenę

Sprawdź dostępność swojej domeny:

.pl: 0 zł   .com: 19.90 zł
.com.pl: 0 zł   .eu: 19.90 zł