Việc sắp đặt nội dung gọn gàng luôn luôn là một phần việc quan trọng cho các bạn thiết kế web. Vì thế mà tabs luôn luôn là sự lựa chọn lý tưởng cho việc sắp đặt các nhóm cùng nội dung.
Trong bài viết này, mình xin chia sẻ cho các bạn cách tạo tabs đơn giản bằng jQuery và đặc biệt hơn là các tabs này được thiết kế rất đẹp với chỉ bằng các thuộc tính của CSS3 mà không cần phải dùng bất kì hình ảnh nào.
HTML
Đầu tiên, chúng ta cần có mẫu html chứa các nội dung như sau :
<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">One - content</div>
<div id="tab2">Two - content</div>
<div id="tab3">Three - content</div>
<div id="tab4">Four - content</div>
</div>
CSS
Sau đó chúng ta sẽ sắp xếp nội dung cho gọn gàng với đoạn css sau :
#tabs {
overflow: auto;
width: 100%;
list-style: none;
margin: 0;
padding: 0;
}
#tabs li {
margin: 0;
padding: 0;
float: left;
}
#tabs a {
box-shadow: -4px 0 0 rgba(0, 0, 0, .2);
background: #ad1c1c;
background: linear-gradient(220deg, transparent 10px, #ad1c1c 10px);
text-shadow: 0 1px 0 rgba(0,0,0,.5);
color: #fff;
float: left;
font: bold 12px/35px 'Lucida sans', Arial, Helvetica;
height: 35px;
padding: 0 30px;
text-decoration: none;
}
#tabs a:hover {
background: #c93434;
background: linear-gradient(220deg, transparent 10px, #c93434 10px);
}
#tabs a:focus {
outline: 0;
}
#tabs #current a {
background: #fff;
background: linear-gradient(220deg, transparent 10px, #fff 10px);
text-shadow: none;
color: #333;
}
#content {
background-color: #fff;
background-image: linear-gradient(top, #fff, #ddd);
border-radius: 0 2px 2px 2px;
box-shadow: 0 2px 2px #000, 0 -1px 0 #fff inset;
padding: 30px;
}
/* Remove the rule below if you want the content to be "organic" */
#content div {
height: 220px;
}
jQuery
Việc cuối cùng là các bạn chỉ cần chèn đoạn jquery sau :
<script src="http://code.jquery.com/jquery-1.6.3.min.js"></script>
<script type="text/javascript">
$(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>
Thế là xong, chúng ta đã có ngay một tabs rất đẹp để áp dụng vào chính website của mình rồi, sau đây là danh sách các trình duyệt sẽ hiển thị tốt tabs này :