آموزش طراحی سایت

آموزش طراحی سایت

آموزش طراحی سایت از صفر تا 100
آموزش طراحی سایت

آموزش طراحی سایت

آموزش طراحی سایت از صفر تا 100

آموزش طراحی سایت-آرایه ها در جاوا اسکریپت

امروز با پست جدیدی از سری پست های آموزش طراحی سایت همراه شما هستیم. در این پست آرایه ها در جاوا اسکریپت را مورد بررسی قرار می دهیم.
آرایه ها (در جاوا اسکریپت) چندین متغیر را در قالب تنها یک متغیر ذخیره می کنند یا به عبارتی دیگر آرایه یک متغیر خاص است که می توانید به طور همزمان چندین مقدار (بیش از یک مقدار) را در آن ذخیره نمایید. در این بخش با استفاده از یک اسکریپت، آرایه ها را داخل تگ <p> با شناسه "demo"نمایش می دهیم. همان طور که در مثال زیر مشاهده می کنید، اولین خط ، آرایه ای به نام cars ایجاد می کند. دومین خط المانی که شناسه ی آن "demo"می باشد را یافته سپس آرایه را در "innerHTML" آن المان نمایش می دهد.
مثال:

نمونه یک

<p id="demo">Saab,Volvo,BMW</p>
<script>
var cars = ["Saab", "Volvo", "BMW"];
document.getElementById("demo").innerHTML = cars;
</script>

خودتان امتحان کنید. یک آرایه ایجاد کرده و مقادیری به آن تخصیص دهید.

نمونه دو

var cars = ["Saab", "Volvo", "BMW"];
فاصله و انتهای خط (line break) از هیچ اهمیتی برخوردار نیستند. یک تعریف (declaration) می تواند در چندین خط ادامه داشته باشد.
مثال:

نمونه سه

var cars = [
"Saab",
"Volvo",
"BMW"
];
توجه:
توجه داشته باشید که هیچ گاه پس از آخرین المان (در مثال بالا "BMW") ویرگول قرار ندهید، زیرا ممکن است در مرورگرهای مختلف نتایج متفاوتی ارائه دهد.

آرایه چیست ؟

در آموزش طراحی سایت شی آرایه یک نوع خاص از متغیر هاست که می تواند چندین داده را در قالب یک نام در خود ذخیره کند. آرایه مجموعه ای از متغیرهایی از یک نوع داده ای با نام یکسان است، که هر کدام از اعضای آن توسط یک شمارنده یا شاخص (index)، از یکدیگر تمیز داده می شوند. به عنوان مثال فرض کنید فهرستی از اقلام یا آیتم ها (برای مثال لیستی از اسم ماشین ها) را دارید که هر یک در متغیر ی مجزا ذخیره می گردد.
var car1 = "Saab";‎
var car2 = "Volvo";‎
var car3 = "BMW";‎
چنانچه بخواهیم درون آیتم های فوق حلقه زده (آن ها را تکرار کرده) و ماشین مورد نظر را پیدا کنیم چه اتفاقی رخ می دهد؟ اگر تعداد ماشین ها 3 تا نه بلکه 300 تا بود چه اتفاقی رخ می داد؟ این مسئله با بهره گیری از آرایه حل می شود. یک آرایه همان طور که پیش تر ذکر کردیم قادر است چندین مقدار را تحت نام یکسان در خود ذخیره کرده و از طریق اندیس به آن مقادیر دسترسی پیدا کند.

ایجاد آرایه

استفاده از یک آرایه ی متنی (array literal) بهترین و نیز آسان ترین روش برای ایجاد یک آرایه ی جاوا اسکریپت می باشد.

دستور نگارش (syntax)

var array-name = [item1, item2, ...];‎
مثال:
var cars = ["Saab", "Volvo", "BMW"];‎

استفاده از کلید واژه ی new

مثال زیر نیز یک آرایه ایجاد کرده و به آن مقادیری را تخصیص می دهد.
مثال:

نمونه چهار

var cars = new Array("Saab", "Volvo", "BMW");
نکته:
دو مثال بالا هر دو یک کار یکسان را انجام می دهند. نیازی به استفاده از new Array() وجود ندارد. برای آسانی، قابلیت خوانایی بیشتر و نیز افزایش سرعت اجرا توصیه می کنیم از نمونه ی اول استفاده کنید.

دسترسی به المان های آرایه

برای دسترسی به المان مورد نظر در آرایه از شماره ی اندیس کمک می گیریم. دستور زیر نحوه ی دسترسی به مقدار اولین المان را نمایش می هد.
var name = cars[0];‎
دستور زیر اولین المان را اصلاح می کند.
cars[0] = "Opel";‎
توجه:
دقت داشته باشید که [0] اولین المان محسوب می گردد و [1] دومین شمارنده ی آرایه ها در جاوا اسکریپت از صفر آغاز می شود.

امکان داشتن چندین شی مختلف در یک آرایه

در آموزش طراحی سایت متغیر در جاوا اسکریپت می تواند یک شی باشد. در حقیقت آرایه یک نوع خاص شی محسوب می گردد، به این خاطر هم می توانید متغیرهایی از نوع های مختلف در یک آرایه داشته باشیم. می توان اشیا (object)، توابع (function) یا آرایه (array) در دل آرایه ی دیگر قرار داد.
myArray[0] = Date.now;‎
myArray[1] = myFunction;‎
myArray[2] = myCars;

آرایه یک شی است

آرایه یک نوع خاص شی است. عملگر (operator) typeof در جاوا اسکریپت (برای آرایه) "object" بازمی گرداند. آریه برای دسترسی به المان های خود از شماره کمک می گیرد. به عنوان مثال person[0] المان John را باز می گرداند.
Arrayمثال:

نمونه پنج

var person = ["John", "Doe", 46];
اشیا با استفاده از اسم (name) به اعضای ("member") خود دستیابی پیدا می کنند. برای مثال person.firstName المانJohn را بازیابی می کند.
objectمثال:

نمونه شش

var person = {firstName:"John", lastName:"Doe", age:46};

خواص property ها (خواص) و method های (توابع) مربوط به آرایه

اگر به مثال زیر دقت کنید متوجه می شوید که length property تعداد المان های موجود در cars را برمی گرداند و تابع sort()، cars را به ترتیب حروف الفبا مرتب سازی (sort) می کند.
مثال:
var x = cars.length; // The length property returns ‎the number of elements in cars
var y = cars.sort(); // The sort() method sort cars in ‎alphabetical order

تشریح خاصیت length

دستور length property یک آرایه، طول یا تعداد المان های موجود در یک آرایه را باز گردانی می کند.
مثال:

نمونه هفت

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.length; // the length of fruits is 4

افزودن المان جدید به یک آرایه

آسان ترین روش برای افزورن یک element جدید به آرایه، استفاده از تابع (method) push می باشد.
مثال:

نمونه هشت

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.push("Lemon"); // adds a new element (Lemon) to fruits

همچنین می توان این کار را با بهره گیری از length property انجام داد.
مثال:

نمونه نه

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits[fruits.length] = "Lemon"; // adds a new element (Lemon) to fruits

ایجاد یک حلقه در آرایه (تکرار المان های یک آرایه به تعداد دفعات معین)

در loop for مجموعه دستورالعمل ها به تعداد معلوم و مورد نیاز، تکرار می شوند. یکی از بهترین روش های تکرار المان های یک آرایه استفاده از حلقه ی بیان شده است.
مثال:

نمونه ده

var index;
var fruits = ["Banana", "Orange", "Apple", "Mango"];
for (index = 0; index < fruits.length; index++) {
text += fruits[index];
}

آرایه ی شرکت پذیر چیست (associative arrays)؟

بسیاری از زبان های برنامه نویسی کنونی از آرایه های با اندیس های نام گذاری شده پشتیبانی می کنند. آرایه هایی که اندیس های آن ها نام گذاری شده، آرایه های شرکت پذیر یا (hashes) associative arrays نامیده می شوند. جاوا اسکریپت از آرایه هایی که دارای named index (اندیس نام گذاری شده) هستند پشتیبانی نمی کند. در عوض این زبان از قابلیت numbered indexes (اندیس های شماره گذاری شده) پشتیبانی می کند.
مثال:

نمونه یازده

var person = [];
person[0] = "John";
person[1] = "Doe";
person[2] = 46;
var x = person.length; // person.length will return 3
var y = person[0]; // person[0] will return "John"
توجه:
در صورت استفاده از آرایه ی نام گذاری شده، جاوا اسکریپت آرایه را به یک object استاندارد باز تعریف می کند. پس از آن تمامی متدها و خواص مربوط به آرایه نتایج نا صحیح و غیر مجاز تولید می کنند.
مثال:

نمونه دوازده

var person = [];
person["firstName"] = "John";
person["lastName"] = "Doe";
person["age"] = 46;
var x = person.length; // person.length will return 0
var y = person[0]; // person[0] will return undefined

تشریح تفاوت بین آرایه (array) و شی (object)

همان طور که پیش تر شرح داده شد، در جاوا اسکریپت آرایه ها از اندیس های شماره دار استفاده می کنند. اشیا (object) نیز از اندیس های نام دار (named indexes) استفاده می کنند.

چه زمانی باید از array استفاده کرد و چه زمانی از object؟

جاوا سکرپیت JavaScript از آرایه های شرکت پذیر (associative array) پشتیبانی نمی کند. اگر می خواهید اسم المان ها از نوع رشته (نوشته یا متن) باشد، در آن صورت به طور حتم باید از object استفاده کنید. چنانچه مایلید اسم المان از نوع عددی یا شماره باشد، باید از array استفاده کنید. تا حد ممکن سعی کنید از بکار گیری constructor (سازنده) پیش فرض و توکار ()JavaScript،new Array خودداری کنید. بجای استفاده از روش منسوخ بالا می توانید از روش نوین [] بهره بگیرید. هر دو دستور کاملا متفاوت نام برده، آرایه ای تهی به نام points ایجاد می کنند.
var points = new Array(); // Bad
var points = []; // Good ‎
بار دیگر هر دو دستور آرایه ای ایجاد می کنند که دربردارنده ی 6 عدد است.

نمونه سیزده

var points = new Array(40, 100, 1, 5, 25, 10) // Bad
var points = [40, 100, 1, 5, 25, 10]; // Good
استفاده از کلیدواژه ی new برای ایجاد آراِیه ی جدید به دلیل طولانی و پیچیده تر کردن کد منسوخ تلقی تلقی می گردد.
var points = new Array(40, 100);  // Creates an array with two elements (40 and 100)
ببینید در صورت حذف کردن یکی از المان ها چه اتفاقی رخ می دهد!

نمونه چهارده

var points = new Array(40);       // Creates an array with 40 undefined elements !!!!!

چگونه یک آرایه را تشخیص دهیم؟

یکی از سوال هایی که به طور متدوال مطرح می شود این است که چگونه می توان تشخیص داد آیا یک متغیر آرایه هست یا خیر؟ یکی از مشکل هایی که با آن مواجه می شویم، این است که عملگر typeof "object" باز می گرداند.

نمونه پانزده

var fruits = ["Banana", "Orange", "Apple", "Mango"];
typeof fruits; // typeof returns object
عملگر مزبور به این خاطر "object" برمی گرداند که یک JavaScript array یا آرایه ی جاوا اسکریپت خود یک شی است. جهت رفع این مشکل توصیه می کنیم isArray() function خود را ایجاد کنید.

نمونه شانزده

function isArray(myArray) {
return myArray.constructor.toString().indexOf("Array") > -1;
}
تابع function (تابع) بالا همیشه در صورتی که آرگومان مورد نظر یک آرایه باشد، مقدار true باز می گرداند و یا اگر بخواهیم دقیق تر توضیح بدیم اگر نوع ورودی تابع از نوع "[object array]" باشد مقدار صحیح (true) برمی گرداند.
آموزش طراحی سایت ادامه دارد

آموزش طراحی سایت-تبدیل سه بعدی در CSS3

در این مقاله از آموزش طراحی سایت به بررسی تبدیل سه بعدی در CSS3 می پردازیم و متدهای مورد نیاز برای این تبدیل را همراه با هم تمرین می کنیم..

در CSS3 این امکان برای شما فراهم می شود که به المان های خود جلوه سه بعدی اعمال کنید (آن ها را به صورت سه بعدی قالب دهی کنید).
در جدول زیر، ویرایشی از مرورگرهای مختلف که خاصیت تبدیل سه بعدی را پشتیبانی می کنند، ارائه شده :


توابع تبدیل سه بعدی در CSS3

مبحث پیش رو متدهای تبدیل سه بعدی را در CSS3 برای شما تشریح می کند :

  • rotateX()
  • rotateY()
  • rotateZ()


متد rotateX()

به کمک متد ()rotateX می توان عنصر مورد نظر را بر حول محور X آن، به میزان درجه تعریف شده، چرخاند.

div {
-webkit-transform: rotateX(150deg); /* Safari */
transform: rotateX(150deg);
}

 

متد rotateY()

متد مزبور یک المان را حول محور Y بر اساس درجه ی تعیین شده می چرخاند.

div { 
-webkit-transform: rotateY(130deg); /* Safari */
transform: rotateY(130deg); 
}

 

متد rotateZ()

تابع مذکور یک المان را حول محور Z آن بر اساس درجه ی معین می چرخاند.

div {
-webkit-transform: rotateZ(90deg); /* Safari */
transform: rotateZ(90deg);
}

 

خاصیت های transform در CSS3

جدول زیر کلیه ی خاصیت های مربوط به transform در CSS3 را فهرست می کند :

  • خاصیت transform : جلوه دو بعدی و سه بعدی به عنصر مربوطه اعمال می کند.
  • خاصیت transform-origin : به شما اجازه می دهد تا موقعیت عنصر تبدیل شده را تغییر دهید.
  • خاصیت transform-style : تعیین می کند چگونه المان های تودرتو (nested) در فضای سه بعدی پردازش و نمایش داده شود.
  • خاصیت perspective : نحوه نمایش عناصر سه بعدی را مشخص می کند (دور نما).
  • خاصیت perspective-origin : تعریف کننده ی محل قرار گیری المان سه بعدی از پایین.
  • خاصیت backface-visibility : هنگامی را در اثر چرخش، پشت عنصر نمایان می شود (جلوی آن نمایان نیست)، تعیین می کند که المان نمایش داده شود یا خیر.

 

توابع تبدیل سه بعدی در CSS3

  • تابع (matrix3d (n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n : کلیه تبدیل های سه بعدی را دربر می گیرد.
  • تابع (translate3d(x,y,z : انتقال (حرکت) سه بعدی عنصر را مقدار دهی می کند.
  • تابع (translate X(x : یک انتقال سه بعدی را تعریف کرده و فقط مقدار محور X را بکار می برد (حرکت سه بعدی، در جهت محور X تعریف می کند).
  • تابع (translate Y(y : یک حرکت سه بعدی، در جهت محور Y تعریف می کند.
  • تابع (translate Z(z : یک حرکت سه بعدی، در جهت محور Z تعریف می کند.
  • تابع (scale3d(x,y,z : یک تغییر اندازه سه بعدی (مقیاس بندی سه بعدی)، تعریف می کند.
  • تابع (scale X(x : یک تغییر اندازه سه بعدی، در طول محور X تعریف می کند.
  • تابع (scale Y(y : یک تغییر اندازه سه بعدی، در امتداد محور Y تعریف می کند.
  • تابع (scale Z(z : یک تغییر اندازه سه بعدی، در جهت محور Z تعریف می کند.
  • تابع (rotate3d(x,y,z,angle : چرخش سه بعدی را تعریف می کند.
  • تابع (rotate X(angle : چرخش عنصر را در امتداد محور X تعریف می کند.
  • تابع (rotate Y(angle : چرخش سه بعدی در طول محور Y تعریف می کند.
  • تابع (rotate Z(angle : یک چرخش سه بعدی در امتداد محور Z تعریف می کند.
  • تابع (perspective (n : یک دورنمای سه بعدی (perspective) برای المان تبدیل شده تعریف می کند.

با دیگر مقاله های مرتبط با آموزش طراحی سایت همراه ما باشید..

آموزش طراحی سایت-آموزش Flickerplate در جی کوئری

امروز با مقاله دیگری از سری مقاله های آموزش طراحی سایت همراه شما هستیم. در این مقاله به آموزش افزونه Flickerplate در JQuery می پردازیم.

پلاگین Flickerplate یک کامپوننت از جاوا اسکریپت است که اجازه حرکت بین بخش های مختلف را به ما می دهد. جهت نصب توسط ترمینال میتوانید از دستور زیر استفاده کنید.

bower install flickerplate

لینک های زیر را در پروژه قرار دهید :

< head >
< link href="css/flickerplate.css" rel="stylesheet" type="text/css" >
< /head >
< body >
/* Your content goes here */
< script src="js/min/flickerplate.js" >< /script >
< /body >

 

قطعه کد زیر طریقه استفاده از این پلاگین را نمایش می دهد :

< div class="flicker-example" >
< ul >
< li data-background="image-url.jpg" >
< div class="flick-title" >Example Heading< /div >
< div class="flick-sub-text" >Sub Text< /div >
< /li >
< li data-background="image-url.jpg" >
< div class="flick-title" >Example Heading< /div >
< div class="flick-sub-text" >Sub Text< /div >
< /li >
< /ul >
< /div >
< script >
new flickerplate({
selector: '.flicker-example'
});
< /script >

 

آپشن های پلاگین FlickerPlate در JQuery


مثالی از پلاگین FlickerPlate

new flickerplate({
selector: '.flicker-example',
animation: 'transition-fade',
autoFlick: false,
dotAlignment: 'right',
theme: 'dark'
});

اگر قصد دارید پلاگین شما با قابلیت حرکت به صورت لمسی نیز باشد، از کتابخانه Hammer استفاده کنید :

< body >
 /* Your content goes here */
< script src="js/min/hammer-v2.0.3.js" >< /script >
< script src="js/min/flickerplate.js" >< /script >
< /body >

 

با مقاله های دیگر در زمینه آموزش طراحی سایت همراه ما باشید ...

آموزش طراحی سایت-متد های تاریخ در جاوا اسکریپت

امروز با پست جدیدی از سری پست های آموزش طراحی سایت همراه شما هستیم. در این پست متدهای کاربردی برای تاریخ در جاوا اسکریپت را مورد بررسی قرار می دهیم.

متدهای شی date به برنامه نویس اجازه ی بدست آوردن و تنظیم (مقدار) تاریخ و زمان را می دهد.

متدهای get (برگرداندن مقدار تاریخ و زمان)

  • متد ()getDate : شماره ی روز جاری را در ماه جاری برمی گرداند (1-31)
  • متد ()getDay : شماره ی روز جاری در هفته را برمی گرداند (0-6)
  • متد ()getFullYear : شماره ی (چهار رقمی) سال جاری را بر می گرداند (سال سال سال سال)
  • متد ()getHours : مقدار ساعت را برمی گرداند (0-23)
  • متد ()getMilliseconds : مقدار (شماره ی) میلی ثانیه را برمی گرداند (0-999)
  • متد ()getMinutes : شماره ی دقیقه را در یک متغیر زمانی برمی گرداند (0-59)
  • متد ()getMonth : مقدار ماه (شماره ی ماه جاری) را برمی گرداند (0-11)
  • متد ()getSeconds : شماره ی ثانیه ی جاری را بر می گرداند (0-59)
  • متد ()getTime : هزارم ثانیه هایی که از تاریخ یک ژانویه ی سال 1970 تا کنون سپری شده را برمی گرداند

 

متد ()getTime در جاوا اسکریپت

این تابع تعداد ثانیه های سپری شده از تاریخ اول ژانویه سال 1970 تا به امروز را بر می گرداند : 01.01.1970

مثال 1 :

< script>
var d = new Date();
document.getElementById("demo") = d.getTime();
< /script>

 

تابع ()getFullYear در جاوا اسکریپت

این تابع شماره ی سال جاری را (به صورت چهار رقمی) بر می گرداند.

مثال 2 :

< script>
var d = new Date();
document.getElementById("demo") = d.getFullYear();
< /script>

 

تابع ()getDay در جاوا اسکریپت

شماره ی روز جاری در هفته را برمی گرداند (6-0).

مثال 3 :

< script>
var d = new Date();
document.getElementById("demo") = d.getDay();
< /script>

 

نکته : جاوا اسکریپت اولین روز هفته (0) را یکشنبه در نظر می گیرد.

می توان با استفاده از آرایه ای از اسم ها و تابع ()getDay، روزهای هفته را با اسم شان برگرداند.

مثال 4 :

< script>
var d = new Date();
var days = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
document.getElementById("demo") = days[d.getDay()];
< /script>

 

متد های تنظیم تاریخ در جاوا اسکریپت

  • متد ()setDate : از این متد برای تغییر مقدار عددی تاریخ روز در یک متغیر زمانی استفاده می شود (مقدار روز را به صورت عددی تنظیم می کند) (1-31).
  • متد ()setFullYear : شماره یا مقدار سال و در صورت نیاز روز و ماه را تنظیم می کند.
  • متد ()setHours : مقدار ساعت را تنظیم می کند (0-23).
  • متد ()setMilliseconds : مقدار عددی میلی ثانیه (هزارم ثانیه) را تنظیم می کند (0-999).
  • متد ()setMinutes : مقدار عددی دقیقه در یک متغیر زمانی را تنظیم می کند (0-59).
  • متد ()setMonth : به منظور اصلاح و تنظیم شماره / مقدار ماه بکار می رود (0-11).
  • متد ()setSeconds : مقدار ثانیه را تنظیم می کند (تغییر مقدار عددی ثانیه در یک متغیر زمانی) (0-59).
  • متد ()setTime : محاسبه و ایجاد یک تاریخ جدید ، به واسطه ی اضافه یا کم کردن تعداد مشخصی هزارم ثانیه به تاریخ اول ژانویه سال 1970 استفاده می شود / مقدار زمان را از تاریخ یک ژانویه ی سال 1970 بر حسب میلی ثانیه محاسبه و تنظیم می کند).

 

تابع ()setFullYear در جاوا اسکریپت

این متد شی date را روی تاریخ مشخصی تنظیم می کند، در مثال زیر تاریخ به ژانویه ی 14، 2020 تنظیم شده است.

مثال 5 :

< script>
var d = new Date();
d.setFullYear(2020, 0, 14);
document.getElementById("demo") = d;
< /script>

 

متد ()setDate در جاوا اسکریپت

تابع ()setDate روز ماه مربوطه را تنظیم (مقداردهی) می کند (31-1).

مثال 6 :

< script>
var d = new Date();
d.setDate(15);
document.getElementById("demo") = d;
< /script>

 

با استفاده از این متد همچنین می توان روز به یک تاریخ قبلی افزود.

مثال 7 :

< script>
var d = new Date();
d.setDate(d.getDate() + 50);
document.getElementById("demo") = d;
< /script>

 

چنانچه اضافه کردن روز باعث شود ماه یا سال تغییر پیدا کنند، شی date خود به صورت اتوماتیک تغییرات وارد آمده را مدیریت می کند.

 

ورودی date – تجزیه parse date

چنانچه یک رشته ی معتبر date به صورت رشته یا string دارید که می خواهید به میلی ثانیه تبدیل شود، در آن صورت می توانید از متد Date.parse() استفاده کنید. تابع ()Date.parse تعداد میلی ثانیه های (سپری شده) بین تاریخ مورد نظر و تاریخ اول ژانویه ی سال 1970 را برمی گرداند.

مثال 8 :

 < script>
var msec = Date.parse("March 21, 2012");
document.getElementById("demo") = msec;
< /script>

 

در مرحله ی بعد می توانید با استفاده از مقدار بازگشتی رشته را به یک شی date تبدیل کنید.

مثال 9 :

< script>
var msec = Date.parse("March 21, 2012");
var d = new Date(msec);
document.getElementById("demo") = d;
< /script>

 

مقایسه تاریخ ها با یکدیگر

تاریخ ها را می توان به راحتی با یکدیگر مقایسه کرد. مثال زیر تاریخ امروز را با تاریخ January 14، 2100 مقایسه می کند.

مثال 10 :

var today, someday, text;
today = new Date();
someday = new Date();
someday.setFullYear(2100, 0, 14);
if (someday > today) {
text = "Today is before January 14, 2100."
} else {
text = "Today is after January 14, 2100."
}
document.getElementById("demo") = text;

 

با دیگر مقاله های ما در زمینه آموزش طراحی سایت همراه ما باشید..

آموزش طراحی سایت-گرید سیستم در Bootsratp 4

امروز با مقاله جدیدی از سری مقاله های آموزش طراحی سایت در کنار شما عزیزان هستیم. در این مقاله سعی داریم به آموزش سیستم گرید در بوت استرپ 4 بپردازیم.

آموزش سیستم خانه بندی گرید سیستم Grid System بوت استرپ 4

سیستم گرید بندی (Bootstrap 4 Grid System) بوت استرپ 4 به شما اجازه می دهد تا 12 خانه یا ستون (column) در یک سطر داشته باشید. اگر نمی خواهید از 12 خانه هر سطر به صورت تک تک استفاده کنید، می توانید از ترکیب آنها، خانه یا ستون های بزرگتری ایجاد نمایید. شکل زیر، مفهوم کلی گرید سیستم بوت استرپ 4 را نشان می دهد :

سیستم گرید بندی بوت استرپ 4، کاملا واکنش گرا یا ریسپانسیو (Responsive) است و ستون ها در یک سطر، بر حسب عرض و اندازه صفحه نمایش، خود را مرتب کرده و بهترین حالت نمایش را ارائه می دهند. برای مثال در یک صفحه نمایش بزرگ، می توانید محتویات را در 3 ستون پهن نمایش دهید، در حالی که همان 3 ستون در یک صفحه موبایل، باریکتر شده، هر کدام در یک سطر کامل قرار گرفته و بر روی هم نمایش داده می شوند.

 

کلاسهای سیستم grid در Bootstrap 4

بوت استرپ 4، دارای 5 کلاس مختلف برای گریدبندی خانه در صفحه نمایش های مختلف است :

  • کلاس col- : صفحه نمایش های بسیار کوچک که عرض آن ها کمتر یا مساوی 576 پیکسل است مثل موبایل.
  • کلاس col-sm- : دستگاه ها با صفحه نمایش کوچک که عرض آن ها مساوی یا بزرگتر از 576 پیکسل است.
  • کلاس col-md- : دستگاه ها با صفحه نمایش متوسط که عرض آن ها مساوی یا بزرگتر از 768 پیکسل است مثل تبلت.
  • کلاس col-lg- : دستگاه هایی با صفحه نمایش بزرگ که عرض آن ها مساوی یا بزرگتر از 992 پیکسل است.
  • کلاس col-xl- : دستگاه هایی با صفحه نمایش بسیار بزرگ که عرض آن ها مساوی یا بزرگتر از 1200 پیکسل است مثل مانیتورهای عریض.

کلاس های فوق را می توایند جهت ایجاد قالب و چیدمان های دینامیک و فلکسیبل (flexible layouts)، با هم ترکیب کرده و استفاده نمایید.

 

نکته : تأثیرگذاری کلاس ها از اندازه کوچک به بزرگ است، یعنی اگر قانونی برای سایز کوچکتر تعیین کنید، به سایزهای بزرگ هم تعمیم پیدا می کند. برای مثال اگر می خواهید عرض یکسانی را برای یک عنصر در اندازه های sm و md، تعیین نمایید، کافی است مقدار آن را در حالت sm مشخص کنید و خود به خود در حالت md نیز اجرا می شود.

 

آموزش قوانین گرید سیستم در بوت استرپ 4

در لیست زیر، برخی از مهم ترین قوانین و شرایط ی که در هنگام کار با گرید سیستم در bootstrap 4 بایستی رعایت نمایید را معرفی کرده ایم :

  • سطرها (Rows) بایستی درون یک عنصر دربرگیرنده یا Container با کلاس .container (عرض ثابت) یا کلاس .container-fluid (تمام عرض صفحه یا عنصر مادر آن)، قرار گرفته تا ترازبندی صحیح داشته و مارجین و padding آن ها درست تنظیم شود.
  • از سطرها (Rows) برای ایجاد گروه های افقی از ستون ها (Columns)، استفاده می شود.
  • محتویات بایستی درون ستون ها (Columns) قرار گرفته و فقط ستون ها می توانند اولین فرزندان یا زیرمجموعه سطرها باشند.
  • کلاس های از قبل تعریف شده ای مثل row یا col-sm-4 برای قالب بندی سریع گریدها (Grid)، تعریف شده اند.
  • ستون ها (Columns) بین محتویات شان فاصله یا گاتر (Gutter) ایجاد می کنند به وسیله Padding. این فاصله یا Padding در سطر اول و آخر عنصر مادر، به صورت offset تعیین می شود به وسیله مارجین منفی که در کلاس row وجود دارد.
  • ستون های گرید (Grid Columns) با تعیین عددی بین 1 تا 12 از 12 ستون ممکن، ایجاد می شوند. برای مثال، اگر می خواهید 3 ستون هم عرض داشته باشید، بایستی 4 خانه گرید به هر کدام اختصاص داده و از کلاس ی مثل col-sm-4 استفاده نمایید.
  • میزان عرض ستون ها در Bootstrap 4، برحسب درصد تنظیم می شود، لذا همواره در عنصر مادر (row)، شناور بوده و سایز آن ها بستگی مستقیم به عرض عنصر دربرگیرنده آن ها دارد.
  • بزرگترین فرق بین Bootstrap4 و Bootstrap 3 این است که بوت استرپ 4، به جای خاصیت شناورسازی (floats) از فلکس باکس (Flex) استفاده می کند. یک مزیت بزرگ flexbox این که ستون های گرید بدون عرض مشخص، به صورت خودکار با عرض هایی یکسان (و حتی ارتفاع یکسان) ترازبندی و قالب دهی می شوند که در سیستم floats به این صورت نیست. 3 المنت که کلاس col-sm دارند، در تمامی صفحه نمایش ها (حتی بزرگتر از موبایل تا بالاترین حد)، همواره 33.33 درصد از عرض صفحه یا عنصر Container را اشغال می کنند.

 

راهنمایی : اگر در مورد FlexBox، آشنایی کافی ندارید، به بخش آموزش فلکس باکس در سایت تحلیل داده بروید.

 

نکته : گزینه FlexBox در مرورگرهای IE9 و قبلتر، پشتیبانی نمی شود. لذا اگر پشتیبانی مرورگرهای IE8 و IE9 ار سایت تان برای شما مهم است، از بوت استرپ 3 استفاده نمایید. بوت استرپ 3، پایدارترین نسخه بوت استرپ بوده و هنوز توسط تیم توسعه دهنده جهت رفع باگ ها احتمالی، ارائه مستندات آموزشی و ... پشتیبانی می شود. ولی قابلیت های جدید از جمله FlexBox به آن اضافه نشده است.

 

بررسی ساختار پایه یک گرید بوت استرپ 4

در کد مثال عملی زیر، یک مثال ساده و پایه از نحوه گریدبندی خانه ها در بوت سترپ 4 را نشان داده ایم. کد مثال را مطالعه کرده، در ادامه به تشریح نکات مهم آن پرداخته ایم :

مثال گرید سیستم

< !-- Control the column width, and how they should appear on different devices -->
< div class="row">
< div class="col-*-*">< /div>
< div class="col-*-*">< /div>
< div class="col-*-*">< /div>
< /div>
< !-- Or let Bootstrap automatically handle the layout -->
< div class="row">
< div class="col">< /div>
< div class="col">< /div>
 < div class="col">< /div>
< div class="col">< /div>
< /div>

در مثال اول، به وسیله تگ div با کلاس row، یک سطر افقی ایجاد کرده ایم. سپس به تعداد مورد نظر، ستون های دلخواه را با تگ هایی با کلاس col-*-*، درون آن قرار داده ایم. * اول در کلاس فوق، تعیین کننده عرض صفحه نمایش هدف است که می تواند یکی از مقادیر sm، md، lg و یا xl را داشته باشد. * دوم هم تعیین کننده عرض ستون بر حسب عددی از 1 تا 12 است که مثلا 6، یعنی 6 واحد از 12 خانه را اشغال کند.

در مثال دوم، به جای تعیین عدد برای هر ستون در کلاس col، اجازه داده ایم تا خود بوت استرپ قالب (layout) آن را با ایجاد ستون های هم عرض مدیریت کند. مثلا کاربرد در عنصر با کلاس col، یعنی اینکه از 100 درصد عرض، به هر ستون 50 درصد اختصاص بده. به همین ترتیب با 3 عنصر کلاس Col، یعنی عرض هر کدام 33 درصد و با چهار ستون عرض هرکدام 25 درصد، عرض کل سطر باشد.

همچنین در کلاس فوق می توانید از حالت col-sm|md|lg|xl نیز استفاده نمایید تا در هر اندازه صفحه نمایش، نحوه قرارگیری ستون ها را به دقت تعیین نمایید.

 

جزئیات کامل گرید سیستم Grid System در بوت استرپ 4

  • عرض کمتر از 576 پیکسل = بسیار کوچک
  • عرض بزرگتر یا مساوی 576 پیکسل = کوچک
  • عرض بزرگتر یا مساوی 768 پیکسل = متوسط
  • عرض بزرگتر یا مساوی 992 پیکسل = بزرگ
  • عرض بزرگتر یا مساوی 1200 پیکسل = بسیار بزرگ

 

پیشوند کلاسهای سیستم grid در Bootstrap 4 

  • col-
  • .col-sm
  • .col-md
  • .col-lg
  • .col-xl.

رفتار گرید سیستم در Bootsratp 4

  • تمامی ستون ها به صورت افقی همواره نمایش داده می شوند.
  • از سمت چپ تراز شده و در عرض مناسب ستون ها همگی افقی هستند.
  • از سمت چپ تراز شده و در عرض مناسب ستون ها همگی افقی هستند.
  • از سمت چپ تراز شده و در عرض مناسب ستون ها همگی افقی هستند.
  • از سمت چپ تراز شده و در عرض مناسب ستون ها همگی افقی هستند.

 

عرض عنصر دربرگیرنده Container در گرید سیستم در Bootsratp 4

  • بدون عرض (auto اتوماتیک)
  • 540 پیکسل.
  • 720 پیکسل.
  • 960 پیکسل.
  • 1140 پیکسل.

مناسب برای :

  • موبایل هایی با صفحات بسیار کوچک.
  • موبایل های معمولی.
  • تبلت ها.
  • لپ تاپ ها.
  • مانیتورهای بزرگ و کامپیوترهای رومیزی.

 

تعداد ستون در هر سطر

  • 12.
  • 12.
  • 12.
  • 12.
  • 12.

 

عرض گاتر (Gutter)

  • 30 پیکسل (15 پیکسل از هر دو طرف ستون).
  • 30پیکسل (15 پیکسل از هر طرف ستون).
  • 30پیکسل (15 پیکسل از هر طرف ستون).
  • 30پیکسل (15 پیکسل از هر طرف ستون).
  • 30پیکسل (15 پیکسل از هر طرف ستون).

 

قابل توجه تو در تو شدن Nested

  • yes.
  • yes.
  • yes.
  • yes.
  • yes.

داشتن offset

  • بله.
  • بله.
  • بله.
  • بله.
  • بله.

 

ترتیب قرار گرفتن ستون ها

  • بله.
  • بله.
  • بله.
  • بله.
  • بله.

 

با دیگر مقاله های آموزشی در زمینه آموزش طراحی سایت همراه ما باشید..