![]() |
|
|||||||
| ثبت نام | کتابخانه فایل ها | راهنما | لیست کاربران | کلوب های کاربران | همه قسمت ها ، به عنوان خوانده شده علامت گذاری شوند |
| CSS ، HTML و Web Design در این بخش میتوانید درباره مطالب مربوط به JavaScript ، HTML ، و CSS بحث و گفتگو کنید. |
![]() |
|
|
ابزار های تاپیک | طریقه نمایش |
|
|
#1 |
|
کاربر دائمی
![]() تاریخ عضویت: اسفند 1385
محل زندگی: تهران
پست: 1,474
تشکرها: 210
586 بار تشکر شده در 427 پست
|
سلام دوستان
امروز تصمیم گرفتم یه مقاله در مورد ساخت تب بنویسم و بزارم اینجا. هرچند که ساده هست و ممکنه خیلی ها بلد باشن ولی سعی کردم کامل توضیح بدم. ![]() کد:
<div>
<ul>
<li><a href="#">محبوب ترين مطلب</a></li>
<li><a href="#">آخرين مطالب</a></li>
<li><a href="#">افراد آنلاين</a></li>
<li><a href="#">وضعيت اعضاء</a></li>
</ul>
</div>
کد:
#TabContainer
{
margin: 30px 250px;
padding: 0;
}
#TabContainer .tab
{
list-style: none;
border: 1px solid #000000;
margin: 0;
padding: 0;
}
#TabContainer .tab li
{
float: right;
margin-left: 5px;
}
برای اینکه هر تگ li به صورت یک تب در بیاد لازم هست که li ها کنار هم قرار بگیرن پس گزینه float:right رو براشون در نظر میگیریم تا به حالت شناور در بین و در سمت راست ul قرار بگیرن. margin-left هم برای ایجاد فاصله بین تب ها در نظر گرفته شده. خوب تا اینجا کارمون به این شکل شده: ![]() اولین اشکالی که به چشم میاد اینه که با float کردن li ها ارتفاع ul صفر شده و مثل یک border بالای li ها قرار گرفته. برای اینکه این حاشیه به پایین li ها بیاد باید padding-bottom به ul بدیم با اینکار ul مثل یه کادر دور تب ها رو میگیره. با توجه به اینکه ما فقط به حاشیه پایینی نیاز داریم پس border رو به border-bottom تغییر بدید. این رو هم عرض کنم خدمتتون که padding-bottom رو طوری در تگ ul مقدار دهی کنید که دقیقا حاشیه تگ ul روی حاشیه پایینی li ها قرار بگیره. توی این مثال من 21 پیکسل براش در نظر گرفتم. بنابراین کلاس tab رو به این شکل ویرایش کنید: کد:
#TabContainer .tab
{
list-style: none;
border-bottom: 1px solid #000000;
margin: 0;
padding: 0 50px 21px 0;
}
کد:
#TabContainer li a:link,#TabContainer li a:visited
{
display: block;
font-family: tahoma;
font-size: .75em;
background-color: #fcd9af;
color: #800000;
border: 1px solid #000;
padding: 3px;
text-decoration: none;
}
#TabContainer li a:hover
{
background-color: #ff9797;
}
تا اینجا کارمون به این شکل شده که تقریبا تب ها آماده شدن: ![]() برای ساخت قسمتی که آیتم های هر تب درون اون قرار بگیره فقط کافیه از یه div استفاده کنیم. در ابتدای کار تب ها رو درون یه div با آی دی TabContainer قرار دادیم. بنابراین الان تب های ما دقیقا در بین این div مهار شده هستند. پس خیلی راحت با اضافه کردن یک div دیگه به عنوان محل قرار گیری آیتم ها و دادن border به اون می تونیم یه چهارچوب برای تب ها درست کنیم. این کد html ما تا الان به همراه این قسمت به این شکل هست: کد:
<div id="TabContainer">
<ul class="tab">
<li><a href="#">محبوب ترين مطلب</a></li>
<li><a href="#">آخرين مطالب</a></li>
<li><a href="#">افراد آنلاين</a></li>
<li><a href="#">وضعيت اعضاء</a></li>
</ul>
<div class="ContentArea">
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
</div>
</div>
کد:
#TabContainer .ContentArea
{
border: 1px solid #000;
border-top: none;
padding: 3px;
}
تا اینجا کار ساخت تب ها تمومه. حالا باید قسمتی رو اضافه کنیم که کاربر با کلیک روی یک تب، اون تب به حالت فعال در بیاد و فقط آیتم های همون تب نشون داده بشه. ![]() کد:
<li><a href="#" id="MostVisited" class="active" onclick="tabselect(id);">محبوب ترین مطالب</a></li> <li><a href="#" id="LastContent" onclick="tabselect(id);">آخرین مطالب</a></li> <li><a href="#" id="OnlineUsers" onclick="tabselect(id);">افراد آنلاین</a></li> <li><a href="#" id="UsersStatus" onclick="tabselect(id);">وضعیت اعضاء</a></li> کد:
<div class="ContentArea">
<div id="MostVisited_content">
most visited
</div>
<div id="LastContent_content">
last content
</div>
<div id="OnlineUsers_content">
online user
</div>
<div id="UsersStatus_content">
user status
</div>
</div>
کد:
#TabContainer .tab a.active , #TabContainer .tab a.active:hover
{
background-color: #ffffff;
border-bottom: 1px solid #ffffff;
}
![]() حالا فقط میمونه تابع جاوا اسکریپتی که باید برای تغییر دادن استایل تب ها بنویسیم: من خیلی ساده این تابع رو به این شکل نوشتم: کد:
var activeId = "MostVisited";
function tabselect(id)
{
document.getElementById(activeId).className="";
document.getElementById(id).className="active";
document.getElementById(id).blur();
document.getElementById(activeId + "_content").style.display="none";
document.getElementById(id + "_content").style.display="";
activeId = id;
}
یکه نکته کوچکی باقی میمونه و اونم اینکه وقتی صفحه لود میشه به دلیل اینکه این تابع جاوا اسکریپت فراخوانی نشده همه آیتم های تب ها با هم دیگه نشون داده میشن. برای رفع این مورد به div تک تک آیتم ها به غیر از آیتم اول style="display: none;" اضافه میکنیم که در زمان لود صفحه نشون داده نشن: کد:
<div class="ContentArea">
<div id="MostVisited_content">
most visited
</div>
<div id="LastContent_content" style="display: none;">
last content
</div>
<div id="OnlineUsers_content" style="display: none;">
online user
</div>
<div id="UsersStatus_content" style="display: none;">
user status
</div>
</div>
موفق باشید. آخرین ویرایش به وسیله emad_67 : پنج شنبه 28 مرداد 1389 در 17:37 عصر |
|
|
|
| 46 کاربر از emad_67 به خاطر این مطلب مفید تشکر کرده اند: | A.S.Roma, abasfar, alih110, alimomen54, aliniknam, alireza_b3, amir.s, amirferdowsi, as13851365, asgari.yazdi, ayub_coder, Chabok, daffy_duck376, doste khob, farasat.ne, fatemeh_tabrizi, FirstLine, gheysar14, grlearn, grobech, hamid1081, Hossis, jaza_sa, LORD AELX, m.hamidreza, M8SPY, mehrzad007, mhm5000, mohammad_bagherani, mohammad_z, mohsen.r, oracle_2007, parvizj, qazxsw, raravaice, saeidejafari, saidshp, sam166, samandco, sav68.net, skflower, smhnaji, t3rr0r1st, vahid67, xalerebvar, yaqubian |
|
|
#2 |
|
کاربر دائمی
![]() |
نقل قول: نحوه ساخت تب(سربرگ) برای نمایش آیتم ها
سلام
اگه میشد چند با دکمه تشکر رو زد حتما این کار رو می کردم. به هر حال دستتون درد نکنه. مرسی
__________________
خداوندا ارامشی عطا فرما تا بپذیرم انچه را که نمی توانم تغییر دهم؛ شهامتی تا تغییر دهم آنچه را که میتوانم و دانشی که تفاوت این دو رابدانم (جبران خلیل جبران) |
|
|
|
|
|
#3 | |
|
کاربر دائمی
![]() تاریخ عضویت: اسفند 1385
محل زندگی: تهران
پست: 1,474
تشکرها: 210
586 بار تشکر شده در 427 پست
|
نقل قول: نحوه ساخت تب(سربرگ) برای نمایش آیتم ها
نقل قول:
|
|
|
|
|
| کاربرانی که به خاطر مطلب مفید emad_67 از وی تشکر کردهاند: |
|
|
#4 |
|
کاربر دائمی
![]() تاریخ عضویت: بهمن 1386
محل زندگی: صندلی
پست: 2,201
تشکرها: 200
594 بار تشکر شده در 442 پست
|
نقل قول: نحوه ساخت تب(سربرگ) برای نمایش آیتم ها
جالب تر میشه یه تایم بدی بعد از اینکه مثلا به غیر از اولی رو انتخاب کرد دوباره بیاد روی اولی!
__________________
اینجا را به خاطره ها سپردیم |
|
|
|
| کاربرانی که به خاطر مطلب مفید tarhebartar از وی تشکر کردهاند: |
|
|
#5 |
|
کاربر دائمی
![]() تاریخ عضویت: مرداد 1386
پست: 250
تشکرها: 14
115 بار تشکر شده در 80 پست
|
نقل قول: نحوه ساخت تب(سربرگ) برای نمایش آیتم ها
یه سوال: دلیل خاصی داشت که هدرها رو تو تگ a گذاشتی؟
__________________
I'm always right. This time I'm just even more right than usual. |
|
|
|
|
|
#6 | ||
|
کاربر دائمی
![]() تاریخ عضویت: اسفند 1385
محل زندگی: تهران
پست: 1,474
تشکرها: 210
586 بار تشکر شده در 427 پست
|
نقل قول: نحوه ساخت تب(سربرگ) برای نمایش آیتم ها
نقل قول:
نقل قول:
کد:
li:hover
{
..
}
موفق باشید. |
||
|
|
|
|
|
#7 |
|
مدیر بخش
![]() ![]() ![]() ![]() ![]() تاریخ عضویت: بهمن 1381
محل زندگی: دهکده مجازی
پست: 1,010
تشکرها: 515
868 بار تشکر شده در 345 پست
|
نقل قول: نحوه ساخت تب(سربرگ) برای نمایش آیتم ها
دوست عزیز emad_67
خیلی لطف کردید اما تمام مواردی که گفتید با نصب یه نرم افزار کوچولو مثل tab designer قابل انجامه! نوع تب رو انتخاب می کنید و خودش خروجی css رو بهتون می ده! موفق باشید |
|
|
|
|
|
#8 | |
|
کاربر دائمی
![]() تاریخ عضویت: فروردین 1387
محل زندگی: Firmware 3.1.2
پست: 325
تشکرها: 190
187 بار تشکر شده در 123 پست
|
نقل قول: نحوه ساخت تب(سربرگ) برای نمایش آیتم ها
نقل قول:
ممنون، ولی هدف از ایجاد چنین تاپیکی، آموزش چگونگی ساخت اینجور tab هاست. ----- اگر قرار باشه که متکی به نرم افزار باشیم، هیچوت توی کدنویسی پیشرفت نمی کنیم، بلکه پسرفت می کنیم! البته دروقت صرفه جویی می شه ولی... |
|
|
|
|
| 6 کاربر از eAmin به خاطر این مطلب مفید تشکر کرده اند: |
|
|
#9 | |
|
کاربر دائمی
![]() تاریخ عضویت: اسفند 1385
محل زندگی: تهران
پست: 1,474
تشکرها: 210
586 بار تشکر شده در 427 پست
|
نقل قول: نحوه ساخت تب(سربرگ) برای نمایش آیتم ها
نقل قول:
موفق باشید ;) |
|
|
|
|
| 5 کاربر از emad_67 به خاطر این مطلب مفید تشکر کرده اند: |
|
|
#10 |
|
کاربر جدید
![]() تاریخ عضویت: اسفند 1384
پست: 10
تشکرها: 5
0 بار تشکر شده در 0 پست
|
نقل قول: نحوه ساخت تب(سربرگ) برای نمایش آیتم ها
آموزش خیلی جالبی بود.
چون من برام جالب بود که بدونم چطوری می شه این تب ها رو ساخت. به هر حال خیلی ممنون |
|
|
|
![]() |
| بوک مارک کردن این تاپیک |
| کاربرانی که این تاپیک را مشاهده میکنند: 1 (0 کاربران و 1 مهمان) | |
| ابزار های تاپیک | |
| طریقه نمایش | |
|
|