<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های حامد مشهدی</title>
        <link>https://virgool.io/feed/@hamedmashhadi89010</link>
        <description></description>
        <language>fa</language>
        <pubDate>2026-06-06 23:45:21</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/1183847/avatar/edJbRi.jpeg?height=120&amp;width=120</url>
            <title>حامد مشهدی</title>
            <link>https://virgool.io/@hamedmashhadi89010</link>
        </image>

                    <item>
                <title>دام (DOM)HTML و نحوه دستکاری آن توسط JavaScript</title>
                <link>https://virgool.io/@hamedmashhadi89010/%D8%AF%D8%A7%D9%85-domhtml-%D9%88-%D9%86%D8%AD%D9%88%D9%87-%D8%AF%D8%B3%D8%AA%DA%A9%D8%A7%D8%B1%DB%8C-%D8%A2%D9%86-%D8%AA%D9%88%D8%B3%D8%B7-javascript-owayf3kybtmv</link>
                <description>دام (DOM) یک شیوه یا مدل استاندارد ، برای دسترسی به کلیه عناصر درون یک سندHTML را ارائه می دهد . مدل DOM مخفف عبارتDocument Object Model است.در هنگام کار با جاوا اسکریپت ، برای تغییر هر چیزی بر روی صفحه ، برنامه نیاز دارد تا به آن عنصر خاص دسترسی داشته باشد.برای مثال ما می خواهیم اندازه قلم یک پاراگراف را در صفحه تغییر دهیم ، در حالی که در درون صفحه پاراگراف های زیادی وجود دارد که باید بدون تغییر باقی بمانند.در این هنگام ما ابتدا باید به پاراگراف مورد نظر دسترسی داشته باشیم و سپس آن را تغییر دهیم.این امکان دسترسی به عناصر در یک صفحه HTML به همراه تمام متدهای آن برای تغییر ، حذف و اضافه کردن عناصر به وسیله مدل DOM فراهم شده است.مفهوم و نحوه عملکرد مدل DOMمدل DOM برای دسترسی به اشیا و عناصر موجود در یک صفحه HTML از یک درخت سلسه مراتبی استفاده می کند.این درخت از شی WINDOW به عنوان عنصر مادر یک صفحه HTML شروع شده و به ترتیب به عناصر رده پایین تر ادامه می یابد،تا به پایین ترین رده عناصر یعنی متن و نوشته برسد.جاوا اسکریپت با استفاده از مدل شی گرای DOM ,یک صفحه HTML داینامیک یا پویا ایجاد می کند.با استفاده از DOM میتوان:تمامی عناصر یک صفحه html را تغییر داد.تمام خصوصیات عناصر یک صفحه html را تغییر داد.تمام سبک های  css یک صفحه html را  تغییر داد.به تمام رویدادهای یک صفحه html واکنش نشان داد.معرفی مدلDOM (Document Object Model)عناصر موجود در Body  زیر را در نظر بگیرید:&lt;div&gt;&lt;img src=&quot;images/1.jpg&quot;/&gt;&lt;img src=&quot;images/2.jpg&quot;/&gt;&lt;img src=&quot;images/3.jpg&quot;/&gt;&lt;img src=&quot;images/4.jpg&quot;/&gt;&lt;/div&gt;&lt;h1&gt; EXAMPLE &lt;/h1&gt;&lt;p&gt; DOM in JavaScript &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Item1&lt;/li&gt;&lt;li&gt;Item2&lt;/li&gt;&lt;li&gt;Item3&lt;/li&gt;&lt;li&gt;Item4&lt;/li&gt;&lt;/ul&gt;در زبان برنامه نویسی Html یک ساختار درختی با نام DOM و جود دارد، در این ساختار تگ های داخل یک صفحه دارای والد و فرزندی هستند.برای مثال در عناصری که بالا ایجاد کردیم همین ساختار وجود دارد. عنصر div دارای والدی به نام body است و همین عنصر فرزندی به نام img دارد.در بحث ساختارDOM عناصر میتوانند همزاد باشند، در بالا تگ div با تگp همزاد است چرا که در یک رده قرار گرفته اند و هر دو فرزند body میباشند.پیدا کردن عناصر در صفحه:از ایجاد این ساختار هدفی وجود دارد که چگونه میتوان یک عنصر را حذف کرد یا اینکه اضافه کرد.که با استفاده از زبان برنامه نویسی جاوا اسکریپت در بحث DOM ممکن میشود.برای کار کردن با DOM از کلاس Document استفاده میکنیم با استفاده از این کلمه ما میتوانیم به همه اشیاء داخل صفحه دسترسی پیدا کینم.حال برای اینکه به یک عنصر در صفحه دسترسی پیدا کینم از کلمه کلیدی .getElementById() بعد از document استفاده میکنیم که برای دسترسی نیاز به id عنصر مورد نظر دارد.document.getElementById(&quot;id&quot;);در ادامه بعد از اینکه عنصر مورد نظر را پیدا کرد درون یک متغییر قرار میدهیم و تغییراتی را بر روی آن متغییر اعمال میکنیم.var element=document.getElementById(&quot;img1&quot;);element.style.border=&quot;1px solid #ffff00&quot;;در صفحاتhtml گاهی به وجود می‌آید که به چندین عنصر در صفحه دسترسی پیدا کنیم.در این صورت از.getElementsByClassName() استفاده میکنیم.در این روش برای پیدا کردن نام کلاسی را میخواهد که عناصر دیگر هم آنرا دارا باشند و بعد از اینکه عناصر هم کلاسی را پیدا کرد باید با استفاده از حلقه for به همه دسترسی پیدا کرد و تغییراتی را بر روی آنها انجام داد.var elemens=document.getElementsByClassName(&quot;img&quot;);for (let index = 0; index &lt; elemens.length; index++) {const element = elemens[index];element.style.border=&quot;1px solid #ff00ff&quot;}در روش دیگر برای دسترسی به چندین تگ یا عنصر میتوانیم از نام تگ‌ها استفاده کنیم.var elemens2=document.getElementsByTagName(&quot;tag name&quot;);for (let index = 0; index &lt; elemens2.length; index++) {const element = elemens2[index];element.style.border=&quot;1px solid #ff00ff&quot;;}اضافه کردن عنصر به صفحه:موضوع بعدی اضافه کردن تگ html با زبان جاوا اسکریپت به صفحه html است.در بخشScript به کمک متد زیر ابتدا تگhtml مورد نظرمان را ایجاد میکنیم و درون یک متغییر قرار میدهیم.var tag=document.createElement(&quot;Tag name&quot;);حال برای اینکه تگ ما دارای محتوای متنی باشد از متد زیر استفاده کرده و درون یک متغییر قرار میدهیم.var text=document.createTextNode(&quot;your text&quot;);حال با استفاده از متد appendChild متغییر متنی را درون متغییر از نوع tag قرار میدهیم.tag(text);و در ادامه به کمک متد بالا به صورت زیر متغییر از نوع tag را به body اضافه میکنیم.document.body(tag);حذف کردن عنصر در صفحه:برای حذف کردن عکس در صفحه ابتدا با استفاده از id آنها را پیدا میکنیم و درون یک متغییر قرار میدهیم.var item=document.getElementById(&quot;img1&quot;);حال با استفاده از نام عنصر،والد این عنصر را هم پیدا میکنیم.var div=document.getElementsByTagName(&quot;div&quot;);با استفاده از شماره خانه تگ div مورد نظر عکس را حذف میکنیم.div[0].removeChild(img1);پیدا کردن عناصر HTML در جاوا اسکریپتتغییر عناصر HTML در جاوا اسکریپتجدول زیرمتد ها و ویژگی های مربوز به تغییر عناصرHTML در  جاوا اسکریپت را توضیح داده است:حذف و اضافه کردن عناصر HTMLمدیریت کننده رویدادپیدا کردن اشیا HTML</description>
                <category>حامد مشهدی</category>
                <author>حامد مشهدی</author>
                <pubDate>Sun, 10 Oct 2021 13:50:30 +0330</pubDate>
            </item>
                    <item>
                <title>جاوا اسکریپت (JavaScript) چیست؟</title>
                <link>https://virgool.io/@hamedmashhadi89010/%D8%AC%D8%A7%D9%88%D8%A7-%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA-javascript-%DA%86%DB%8C%D8%B3%D8%AA-rflfmmdklozm</link>
                <description>پاسخ دادن این سوال به این سادگی ها نیست چرا که دنیای جاوا اسکریپت بسیار پهناور تر از این حرف هاست که بتوانم پاسخ کاملی ارائه کنم اما اگر قرار باشد به طور خلاصه و مفید برایتان بگویم، می شود گفت: جاوا اسکریپت ساخته شد تا صفحات وب را زنده کند و به آن ها پویایی ببخشد. در واقع هر جا که اطلاعات به صورت استاتیک و خشک و ثابت نیستند و کمی انعطاف دارند شما شاهد استفاده از جاوا اسکریپت هستید! در این روز ها کمتر صفحه ی وبی را می توان پیدا کرد که از جاوا اسکریپت استفاده نکند.جاوا اسکریپت (JavaScript) که به اختصار JS نیز نامیده می شود، یکی از محبوبترین زبان‌های برنامه نویسی است. جاوا اسکریپت زبانی سطح بالا، داینامیک، شی‌گرا و تفسیری است که از شیوه‌های مختلف برنامه نویسی پشتیبانی می‌کند. از این زبان می توان برای برنامه نویسی سمت سرور(Server Side)، اپلیکیشن های موبایل، بازی و اپلیکیشن‌های دسکتاپ استفاده کرد. بنابراین می توان اینگونه برداشت کرد که زبان برنامه نویسی جاوا اسکریپت ، یک زبان همه فن حریف است.این محبوبیت بی دلیل نیست چرا که با این زبانِ شی گرا شما قادر خواهید بود تا سایت‌های بی‌روح خود را جان بخشی کنید و با کاربران خود تعامل داشته باشید. یعنی می‌توانید فایل‌های انیمیشنی، صوتی و تصویری را روی سایت خود به نمایش بگذارید. همچنین می‌توانید روی سایت‌تان تایمر قرار دهید، رنگ‌ها را با حرکت موس تغییر دهید و بسیاری کارهای دیگر که باعث جذابیت بیشتر صفحات وب می‌شوند.اما این تمام چیزی نیست که جاوا اسکریپت در اختیار شما قرار می‌دهد. شما با استفاده از این زبان می‌توانید شروع به ساخت برنامه‌های وب و موبایل و دسکتاپ کنید. برای این منظور می‌توانید از فریم‌ورک های مختلفJavaScript که مجموعه‌ای از کتابخانه‌ها را در اختیار شما قرار می‌دهند استفاده کنید. یکی از کارهای سرگرم کننده دیگری که می‌توانید از طریق این زبان انجام دهید، توسعه بازی های رایانه ای تحت مرورگر است.  پس به صورت کلی می‌توان کاربردهای زبان جاوا اسکریپت را به صورت زیر بیان کرد:برنامه نویسی فرانت اندبرنامه نویسی بک اند با جاوا اسکریپتبرنامه نویسی نرم افزارهای موبایلبرنامه نویسی نرم افزارهای دسکتاپجاوا اسکریپت اولین بار در می 1995 در 10 روز توسط برندن ایچ، یکی از کارکنان شرکت Netscape متولد شد! در ابتدا این شرکت به این نتیجه رسیده بود که به صفحات وب پویا و جذاب تری احتیاج دارد. این اولین قدم به سوی ساخت زبانی ساده بود. آقای براندان ایچ از طرف این شرکت مامور شد که زبانی اسکریپتی برای صفحات وب و دست بردن در کدهای HTML بسازد. ماموریت آقای ایچ این بود زبانی را ارائه کند که نه تنها متخصصان برنامه نویسی از آن استقبال کنند، بلکه به راحتی مورد استفاده طراحان هم باشد.پردازش و اجرای برخی زبان‌ها بر روی سرور (سایت) صورت می‌گیرد و سپس نتیجه به سوی کاربر ارسال می‌شود. این زبان‌ها برای برقراری ارتباط به نرم‌افزاری احتیاج دارند که به آن وب سرور گفته می‌شود. اما نکته جالبی که در مورد زبان JavaScript وجود دارد این است که از این زبان می‌توان هم برای برنامه نویسی سمت سرور و هم سمت کاربر استفاده کرد. اما در گذشته قلمروی این زبان تنها به برنامه نویسی سمت کاربر محدود می‌شد. کدهای زبان های برنامه نویسی سمت کاربر همانطور که از اسم آن مشخص است در سیستم کاربر پردازش و اجرا می‌شوند.نقاط قوت زبان جاوا اسکریپت چیست؟هر یک از زبان هایی که در دنیای برنامه نویسی مورد استفاده قرار می گیرند نقاط قوت و ضعف هایی دارند که زبان جاوا اسکریپت هم از این موضوع مستثنا نیست. این زبان به دلیل مزایای فراوانی که دارد در میان برنامه نویسان از محبوبیت زیادی برخوردار است که به طور خلاصه به برخی از آنها اشاره می کنیم:بر اساس بررسی سایت  stackoverflow محبوب ترین زبان برنامه نویسی سال 2018 است.برای  پردازش و اجرا به کامپایلر احتیاجی ندارد.یادگیری جاوا اسکریپت نسبت به خیلی از زبان های برنامه نویسی راحت تر است.به صورت کراس پلتفورم روی مرورگر ها یا پلتفرم های مختلف اجرا می شود.نسبت به زبان های برنامه نویسی دیگر سبک تر و سریع تر است.فریم ورک ها،کتابخانه ها و به صورت کلی ابزارهای بسیار زیادی را در اختیارتان قرار      می دهد.زبان  بومی مرورگر وب است و در مرورگر کاربران پردازش می شود.امکان ایجاد صفحات وب تعاملی و پویا را به برنامه نویسان می دهد.در جواب عمل کاربران، عکس العمل نشان می دهد.نقاط ضعف زبان برنامه نویسی جاوا اسکریپت چیست؟برخی از ضعف های این زبان برنامه نویسی عبارتند از :دشواری در تشخیص دلیل خطا دادن و مشکل در دیباگ کردنمحدودیت در اجرای اسکریپت های جاوا اسکریپت با ایجاد محدودیت هایی جهت حفظ امنیتاجرا نشدن بر روی مرورگرهای قدیمینفوذپذیری نسبت به اکسپلویت ها و عوامل مخربمی تواند برای اجرای کدهای مخرب در کامپیوتر کاربران استفاده شود.با رندر شدن متفاوت بر روی ابزارهای مختلف می تواند باعث ایجاد تناقض و نداشتن یکپارچگی شود.بزرگترین عیب زبان جاوا اسکریپت امکان نفوذ پذیری و سوء استفاده از کدهای برنامه می باشد زیرا کدهای جاوا اسکریپت به راحتی قابل مشاهده هستند و به این ترتیب امنیت برنامه به راحتی به خطر می‌افتد. البته با انجام یکسری راهکارها می توان امنیت این زبان را افزایش داد. قواعد دستوری Syntax جاوا اسکریپت JavaScriptسینتکسJavaScript قوانینی از چگونگی ساخت برنامه های جاوا اسکریپت است. برنامه کامپیوتری لیستی از &quot;دستورالعمل&quot; هاست که توسط کامپیوتر&quot;اجرا&quot; میشوند.دستورات جاوا اسکریپت متشکل است از : values(مقادیر) ، Operators (عملگرها) ، Expressions(عبارات) ، Keywords (کلیدواژه ها) و Comments(توضیحات).برنامه ها و عبارات جاوا اسکریپتبرنامه کامپیوتری لیستی از &quot;دستورالعمل&quot; هاست که توسط کامپیوتر&quot;اجرا&quot; میشوند. در یک زبان برنامه نویسی، این دستورالعمل های برنامه &quot;عبارات&quot; نامیده می شوند. در HTML و جاوا اسکریپت عبارات، &quot;دستورالعمل&quot; هایی هستند که توسط مرورگر وب &quot;قابل اجرا&quot; می باشند. جاوا اسکریپت نیز یک زبان برنامه نویسی است و عبارات در این زبان با سمی کولن &quot;;&quot; از هم جدا میشوند. عبارات جاوا اسکریپت از مقادیر، عملگرها، عبارات، کلمات کلیدی، و توضیحات تشکیل شده اند. جاوا اسکریپت فضاهای متعدد را نادیده می گیرد. شما می توانید فضای سفید را به اسکریپت خود برای خواناتر کردن آن اضافه کنید. همچنین برای خوانایی بهتر کدها، برنامه نویسان اغلب تمایل دارند، خطوط کد بیش از 80 کاراکتر نباشند و بهترین مکان برای شکستن آن، بعد از یک عملگر چون &quot;=&quot; میباشد.عبارات جاوا اسکریپت اغلب با یک کلمه کلیدی برای تعریف عملی که باید انجام شود، شروع میشوند. در اینجا لیستی از برخی از کلمات کلیدی را مشاهده میکنید:کلمه کلیدیvar : اعلان یک متغیرکلمه کلیدی break : پایان یک سوئیچ یا یک حلقهکلمه کلیدی continue : پرش از یک حلقه و شروع از بالاکلمه کلیدی debugger : توقف اجرای جاوا اسکریپت، و فراخوانی (در صورت موجود بودن) تابع اشکال زداییکلمه کلیدی do … while : اجرای یک بلوک از عبارات، و تکرار بلوک، در حالی که شرط درست باشدکلمه کلیدی for : اجرای یک بلوک از عبارات، تا زمانی که شرط درست باشدکلمه کلیدی function : اعلان یک تابعکلمه کلیدی if… else : اجرای یک بلوک از عبارات، بسته به شرایطیکلمه کلیدی return : خروج از تابعکلمه کلیدی switch : اجرای یک بلوک از عبارات، بسته به شرایط مختلفکلمه کلیدی:   try … catch پیاده سازی رسیدگی به خطا برای یک بلوک از عباراتسینتکس جاوا اسکریپت دو نوع مقدار را تعریف می کند: مقادیر ثابت و مقادیر متغیر. مقادیر ثابت، &quot;لیترال&quot; و مقادیر متغیر &quot;متغیرها&quot; نامیده می شوند. قوانین مهم برای نوشتن مقادیر ثابت عبارتنداز: اعداد همراه یا بدون رقم اعشار نوشته میشوند، رشته ها متنی هستند که در کوتیشن تکی یا دوتایی نوشته میشوند. عبارات نیز می توانند نشان دهنده مقادیر ثابت باشند.متغیرهای جاوا اسکریپتدر یک زبان برنامه نویسی، متغیرها برای ذخیره مقادیر داده استفاده می شوند. جاوا اسکریپت از کلید واژه &quot;var &quot; برای تعریف متغیرها استفاده می کند و ازعلامت مساوی برای اختصاص مقادیر به متغیرها استفاده می شود.همه متغیر های جاوا اسکریپت باید با نام منحصر به فرد، تعریف شوند. این نام منحصر به فرد به &quot;شناسه&quot; نامیده میشود. شناسه می تواند نام کوتاه (مانند x و y)، و یا نام توصیفی تر ( مانند age، sum، totalVolume) باشد. قواعد کلی برای ساخت نام برای متغیر های (شناسه منحصر به فرد) عبارتند از:► نام می تواند شامل حروف، ارقام، زیرخط، و نشانه دلار باشد.► نام باید با یک حرف شروع شود.► نام همچنین می تواند با $ شروع شود.► نام به حروف حساس هستند.► کلماترزرو شده (مانند کلمات کلیدی جاوا اسکریپت) نمی توانند به عنوان نام استفاده شوند.جاوا اسکریپت به حروف حساس است. همه شناسه های جاوا اسکریپت به بزرگی و کوچکی حروف کلمات حساس هستند یعنی دو متغیر lastName و lastname دو متغیر متفاوت در نظر گرفته میشوند. همچنین در این زبان، VAR یا Var بعنوان کلمه کلیدی &quot;var&quot; تفسیر نمیشوند.عملگرهای جاوا اسکریپتجاوا اسکریپت ازعملگر انتساب (=) برای تخصیص مقادیر به متغیرها و از عملگرهای محاسباتی (+ - * /) برای محاسبه مقادیر استفاده می کند.در زبان جاوا اسکریپت از کلمات کلیدی برای مشخص کردن عملیاتی که باید انجام شود، استفاده میشود مثلا کلمه کلیدی var به مرورگر میگوید که یک متغیر جدید ایجاد کند.مجموعه کاراکترهای جاوا اسکریپتجاوا اسکریپت از مجموعه کاراکتر های یونیکد استفاده می کند. یونی کد (تقریبا) همه کاراکترها، علائم نشانه گذاری، و نمادها در جهان را پوشش می دهد.توضیحات در جاوا اسکریپتهمه عبارات جاوا اسکریپت &quot;قابل اجرا&quot; نیستند.مثلا کد بعد از دو اسلش // یا بین / * و * / به عنوان یک توضیح پردازش می شود. توضیحات نادیده گرفته می شوند، و اجرا نخواهد شد.توضیحات جاوا اسکریپت می تواند برای تشریح کد های جاوا اسکریپت و خواناتر کردن آن مورد استفاده قرار گیرد. همچنین برای جلوگیری از اجرا، هنگامی که کد های آزمایشی جایگزین میشوند، کاربرد دارد. توضیحات تک خطی با &quot;//&quot; شروع میشوند و هر متنی که در ادامه این علامت در یک خط می آید، توسط جاوا اسکریپت نادیده گرفته میشود. توضیحات چند خطی نیز با */  شروه و با /*  پایان میپذیرد و هر متنی بین این دو قرار گیرد اجرا نخواهد شد.</description>
                <category>حامد مشهدی</category>
                <author>حامد مشهدی</author>
                <pubDate>Mon, 04 Oct 2021 21:20:43 +0330</pubDate>
            </item>
                    <item>
                <title>شیوه های CSS نویسی در html</title>
                <link>https://virgool.io/@hamedmashhadi89010/%D8%B4%DB%8C%D9%88%D9%87-%D9%87%D8%A7%DB%8C-css-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%AF%D8%B1-html-hic0k4wpcjgw</link>
                <description>تو این پست قصد داریم در مورد شیوه‌های مختلف استفاده از CSS در درون صفحات HTML صحبت کنیم . به طور کلی به 3 شکل می‌تونید از CSS برای تعیین شیوه نمایش تگها ، در میان کدهای HTML استفاده کنید :1. استفاده از CSS در درون تگها(inline CSS)2. نوشتن تمامی تنظیمات CSS درون تگStyle در header صفحه اچ تی ام ال3. نوشتن سلکتورهای CSS در فایل جداگانه و الصاق آن به صفحه HTML1- استفاده از CSS در درون تگها (inline CSS) :این روش به سبک درون خطی معروفه از مهمترین سبک ها در نوشتن Css هست . در وب سایت هایی که تعداد صفحات کمی دارند از روش css داخلی برای طراحی سایت استفاده می کنند. این روش سایر روش ها را شامل میشه اما توصیه میشه جهت بهینه سازی سایت از این روش کمتر استفاده شود . شما می‌توانید تنظیمات و ویژگی‌های CSS رو در درون هر کدوم از تگ‌های Htmlبیارید تا اون تنظیمات روی تگ مربوطه اعمال بشه . برای اینکار باید ویژگی‌های CSS مورد نظر رو که می‌خواید روی تگ خاصی اعمال بشه درون ویژگی style اون تگ بیارید . ویژگی Styleبرای همه تگ‌های Html قابل تعریفه و به عنوان مقدار ، در درون خود میتونه چندین تا از ویژگی‌های CSS رو که با علامت  ;  از هم جدا شدند بیاره ! برای درک بیشتر از چگونگی استفاده CSSدر درون تگها ، چند تا مثال براتون میارم :فرض کنید می‌خواهید فقط یکی از پاراگراف‌های توی صفحتون رنگ متنش قرمز بشه . - تگ داشتن یک پاراگراف معمولی به شکل زیره :&lt;p&gt;Css Learning&lt;/p&gt;حالا ما می‌خواهیم با استفاده از CSSدرون این تگ ، رنگ متنش رو قرمز کنیم . در این صورت کد پاراگراف بالا به شکل زیر باید تغیر پیدا کنه .&lt;p style=&quot;color:red&quot; &gt;Css Learning&lt;/p&gt;می بینید که فقط ویژگی style  به این تگ اضافه شده و به عنوان مقدار  یکی از ویژگیهای  CSS  که رنگ متن رو مشخص می‌کنه آورده شدهحالا همون پاراگراف بالا رو می‌خوایم نوع فونتش رو Tahoma و اندازه فونت رو 16 پیکسل کنیم . کدش مثل زیر میشه :&lt;p style=&amp;quotfont-face:tahoma;font-size:12px;&amp;quot&gt;Css Learning&lt;/p&gt;ملاحظه می‌کنید که همه ی تنظیمات CSS  مورد نظر رو درون خود تگ و به عنوان مقدار ویژگی style  آورردیم . استفاده ی به این شکل خیلی کار درستی نیست . مگر اینکه فقط در تگ خاصی بخواید تنظیمات رو اعمال کنید و این تنظیمات در تگهای دیگه به اشتراک گذاشته نشده باشند . اگه بخواید همه ی مواقع از این شیوه استفاده کنید بسیاری از مزایای CSS رو از دست خواهید داد !2- نوشتن تمامی تنظیمات CSS درون تگ Style در header صفحه htmlبا استفاده از روش Css داخلی  شما می‌تونید همه یا برخی از سلکتورهای CSS  رو در تگ &lt;style&gt;  تعریف کنید و در تگهای مختلف html  با آوردن ویژگی class  که نام یک سلکتور رو میگیره ، تنظیمات مربوط به سلکتور خاصی رو ، روی اون تگ اعمال کنید . این سبک مزایایی داره  :  این سبک فقط برای صفحاتی قابل اجراست که از این سبک استفاده شده و با استفاده از این روش می توان خاصیت ارث بری کلاس ها استفاده کرد.به عبارتی می تونید از چند جای همان صفحه استفاده کنید.  . تگ &lt;style&gt;  در کدhtml  باید درون تگ &lt;head&gt;  قرار بگیره . همون مثالی که برای روش اول زدیم اینجا باید به این شکل پیاده سازی بشه :&lt;html&gt; &lt;head&gt;  &lt;title&gt;7Learn.com Css Learning&lt;/title&gt;  &lt;style&gt;      .p1 {color:red}       .p2 {font-face:tahoma;font-size:12px;} &lt;/style&gt; &lt;/head&gt;&lt;body&gt;           &lt;p class=&quot;p1&quot;&gt;Css Learning&lt;/p&gt;         &lt;p class=&quot;p2&quot;&gt;Css Learning&lt;/p&gt; &lt;/body&gt; &lt;/html&gt;می بینید که سلکتورهای p1 و p2  رو در تگ  &lt;style&gt; تعریف کردیم و با استفاده از ویژگی class  گفتیم که تنظیمات p1 روی پاراگراف اولی و p2 روی پاراگراف دومی اعمال بشه .حالا فرض کنید با این دو روشی که گفتیم می‌خوایم یه پاراگراف دیگه اضافه کنید که خصوصیات هر دو پاراگراف اول و دوم رو داشته باشه .در روش اول باید همه تنظیمات CSS رو درون تگ پاراگراف جدید بیاریم :&lt;p style=&quot;color:red;font-face:tahoma;font-size:12px;&quot;&gt; Css Learning&lt;/p&gt;ولی در روش دوم براحتی از ترکیب دو تا سلکتور p1 و  p2  استفاده میکنیم :&lt;p class=&quot;p1 p2&quot; &gt;Css Learning&lt;/p&gt;و دیگه نیازی نیست کد تکراری و اضافی بنویسید .وقتی تنظیمات CSS در صفحات html شما زیاد میشن کارایی روش دوم خیلی محسوس میشه . مخصوصا اگه تگهای مختلفی با تنظیمات مشترک در صفحه وجود داشته باشه ، استفاده از روش دوم باعث کاهش redundancy  و جلوگیری از نوشتن کدهای تکراری میشه .3- نوشتن سلکتورهای CSS در فایل جداگانه و الصاق آن به صفحه HTMLسبک Css خارجی  را در طراحی سایت باید در تگ لینک داخل تگ head  تعریف کنید.با استفاده از این سبک شما می تونید از چندین صفحه وب سایت خود استفاده کنید.در این سبک می تونید با تغییر یک فایل کل ظاهر وب سایت خود را عوض کنید.این روش دقیقا شبیه روش قبلیه با این تفاوت که به جای نوشتن سلکتورهای CSS در تگ style اونها رو در یک فایل با پسوند css. مینویسیم و این فایل رو با تگ خاصی به صفحه html  الصاق می‌کنیم .برای چسبوندن یک فایل CSS جهت استفاده از سلکتورهای اون در یک صفحه html  باید تگ زیر رو در header  صفحه htmlتون در تگ &lt;head&gt;  قرار بدید :&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;cssFileURL&quot;&gt;به جای cssFileURL باید آدرس فایل CSS  رو قرار بدید . باز هم همون مثال بالا رو این بار با روش سوم اینجا میاریم :خوب فرض کنیم ما سلکتورهامون رو در فایلی به نام  styles.css نوشتیم و آپلود کردیم و محتویات فایل و آدرس رو  به صورت زیر داریم :css/sytles.css.p1 {color:red} .p2 {font-face:tahoma;font-size:12px;}و کد صفحه html ما که شامل دو تا پاراگراف قبلی هستند به شکل زیر میشه :&lt;html&gt; &lt;head&gt;  &lt;title&gt; Css Learning&lt;/title&gt;     &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;css/sytles.css&quot;&gt; &lt;/head&gt;&lt;body&gt;        &lt;p class=&quot;p1&quot;&gt;Css Learning&lt;/p&gt;        &lt;p class=&quot;p2&quot;&gt;Css Learning&lt;/p&gt; &lt;/body&gt; &lt;/html&gt;با الصاق فایل CSS به صفحه html که شامل سلکتورهامون هستند ، شیوه استفاده از سلکتورها دقیقا شبیه روش قبلی و با استفاده از ویژگی class  هست .استفاده از فایهای css  می‌تونه نگهداری و مدیریت فایل‌های CSSتون رو راحت‌تر کنه .در کل بهتره که از روش دوم یا سوم استفاده کنید تا از تمام مزایای CSS بهره ببرید .</description>
                <category>حامد مشهدی</category>
                <author>حامد مشهدی</author>
                <pubDate>Tue, 28 Sep 2021 12:43:31 +0330</pubDate>
            </item>
                    <item>
                <title>فلکس باکس(CSS FlexBox) چیست؟</title>
                <link>https://virgool.io/wptips/%D9%81%D9%84%DA%A9%D8%B3-%D8%A8%D8%A7%DA%A9%D8%B3css-flexbox-%DA%86%DB%8C%D8%B3%D8%AA-zbh3v5mmt84q</link>
                <description>فرض کنید شما وب سایتی را در لپتاپ خودتان طراحی می کنید و وب سایت طراحی شده در مانیتور شما هیچ مشکلی ندارد. حال شخص دیگری قصد دارد با گوشی موبایل خود وارد وب سایت شما شود. در این حالت چون که اندازه نمایشگر موبایل کاربر با اندازه نمایشگر لپتاپ شما متفاوت است، وب سایت شما برای کاربرتان به درستی نمایش داده نخواهد شد و عناصر مختلف وب سایت به موقعیت و ظاهر مناسب خود را از دست خواهند داد. علت این امر Responsive  نبودن وب سایت شما است. برای این که وب سایت شما تقریبا در همه دستگاه های موبایل، لپتاپ، تبلت و … به درستی نمایش داده شود، باید وب سایتتان را به صورت Responsive  طراحی کنید.این همه توضیح دادیم تا به کاربرد فلکس باکس برسیم. فلکس باکس یکی از ابزار هایی است که به شما کمک می کند تا بتوانید وب سایتتان را در مدت زمان بسیار پایینی به صورت Responsive  طراحی کنیداگر شما در زمینه طراحی سایت مشغول به فعالیت باشید، قطعا اطلاع دارید که یکی از دغدغه ها و مشکلات طراحان وب صفحه آرایی و Responsive  کردن وب سایت است. اگر بحث Responsive  کردن را فاکتور بگیریم، روش های مختلفی برای صفحه آرایی وجود دارد. مثل استفاده از float که به مشکلاتی برمیخوردیم که با ترفند clearfix  قابل حل بودند. یا به عنوان مثال استفاده از روش inline-block  که در این روش نیز مشکل whitespace وجود داشت.اما Css3 ماژولی در داخل خود برای صفحه آرایی دارد که علاوه بر این که مشکلات روش های قبلی را از بین برده است، قابلیت های بیشتر و بهتری در اختیار شما قرار می دهد. اسم ماژولی که در مورد آن صحبت می کنیم Flex Box یا همان Flexible Box است. فلکس باکس به شما در صفحه آرایی صفحات مختلف وب سایتتان کمک می می کند و همچنین به کمک آن می توانید در فرآیند Responsive  سازی وب سایتتان سریع تر عمل کنید.در این قسمت قصد ندارم توضیحات زیادی در موردCss Grid ارائه دهم اما Css Grid نیز یکی از ابزار های موجود در Css است که به شما کمک می کند تا وب سایتتان را در مدت زمان کوتاهی به صورت ریسپانسیو طراحی کنید. اما به دلایل راحت تر بودن و جامعه آماری بالای فلکس باکس نسبت به CSS Grid، یادگیری فلکس باکس را پیشنهاد می کنم.پیش نیاز های فلکس باکسفلکس باکس چیز جدا از CSS نیست و داخل خود CSS وجود دارد.در اصل فلکس باکس نوعی display است که تا به الان باdisplay های نوع block، inline  و … آشنا هستید. فلکس باکس نیز همان display: flex است که با property هایی که دارد به شما کمک می کند تا در فرآیند صفحه آرایی و ریسپانسیو سازی سایت سریع تر عمل کرده و در مدت خیلی کوتاهی وب سایتتان را Responsive  کنید. پس شروع یادگیری فلکس باکس به جز CSS پیش نیاز دیگری ندارد .آیا همه مرورگر ها از فلکس باکس پشتیبانی می کنند؟وب سایتی به اسم CanIUse وجود دارد که شما می توانید از پشتیبانی هر مرورگر مثل گوگل کروم، فایرفاکس، اپرا، بریم و … از هر تکنولوژی و ابزار های موجود در برنامه نویسی وب را به راحتی مطلع شوید. برای این کار کافی است به وب سایتcaniuse.com رفته و در اینپوت باکس مربوط بهserach کلمه flex را نوشته و سرچ کنید. سپس یک جدول تشکیل شده از مرورگر های مختلف به شما نمایش داده می شود که می توانید با توجه به جدول نمایش داده شده از پشتیبانی هر مرورگر از فلکس باکس مطلع شوید.برای استفاده از flexbox، باید به عنصر پدری که عناصر رو در می‌گیره، دستور display:flex اختصاص بدیم. طراحی ریسپانسیو با flexbox خیلی ساده تر خواهد شد.بعد از اختصاص دادن این دستور، CSS دست ما رو برای استفاده از یکسری دستورات دیگه باز می‌کنه که اون ها رو در ادامه بررسی می‌کنیم، و یاد می‌گیریم که چطور می‌تونن عناصر رو طبقه بندی و مرتب کنن. پس بریم که آشنایی با Flexbox در CSS را شروع کنیم.برای شروع آشنایی با فلکس باکس در CSS ، به مثال زیر توجه کنین:&lt;div id=&quot;parent&quot;&gt;          &lt;div id=&quot;div1&quot;&gt;&lt;/div&gt;           &lt;div id=&quot;div2&quot;&gt;&lt;/div&gt;          &lt;div id=&quot;div3&quot;&gt;&lt;/div&gt;          &lt;div id=&quot;div4&quot;&gt;&lt;/div&gt;&lt;/div&gt;#parent{ Display: flex;  }#parent div {Width: 100px;Height: 100px;Margin: 10px; }#div1 {Background-color: red;}#div2 {Background-color: green;}#div3 {Background-color: blue;}#div4 {Background-color: orange;}همونطور که میبینیم، ۴ عنصر div داریم که داخل یه عنصر div پدر جا داده شدن.برای اینکه بین عناصر داخلی، طبقه بندی flexbox رو برقرار کنیم، display:flex رو به عنصر پدرشون اختصاص دادیم.هرکدوم از عناصر داخلی، رنگ متفاوتی دارن و برای مجزا بودن، ۱۰پیکسل از اطراف فاصله گرفتن.نتیجه رو به فرم زیر مشاهده می‌کنیم:میبینیم که عناصر داخلی، برخلاف block بودنشون، inline رفتار کردن و در راستای یک خط یا row قرار گرفتن.پس اولین تاثیر display:flex، اینه که عناصر داخلی رو، هر چی هم که باشن، در راستای یک خط مرتب می‌کنه.حالا چطور عناصر داخلی رو دلخواه مرتب کنیم؟ ستونیشون کنیم؟ از هم فاصلشون بدیم؟ تمام این مشکلات توسط دستوراتی که display:flex برای ما آزاد می‌کنه، حل می‌شن. درباره flex در ادامه بیشتر صحبت می‌کنیم.دستورات مربوط به flexboxدر ادامه به دستورات مربوط به فلکس باکس می‌پردازیم که عبارتند از:flex-directionjustify-contentalign-contentalign-itemsflex-wrapflex-growflex-shrinkflex-basisflex-flowخاصیت flex-directionبا استفاده از این دستورات می‌توانیم به طراحی صفحه باflexbox نزدیک تر شویم.گفتیم که دستور display:flex یا ویژگیFlex ، عناصر فرزند رو در راستای یه خط مرتب می‌کنه. حال می‌خواهیم در رابطه با Flex direction در css صحبت کنیم. توسط این خاصیت می‌تونیم سطر رو به ستون تبدیل کنیم!خاصیت مورد نظر، می‌تونه ۴ مقدار رو قبول کنه. این ۴ مقدار عبارتند از:الف)row: عناصر رو در راستای سطر قرار میده.ب)column: عناصر رو در راستای ستون قرار میده.ج)row-reverse: عناصر رو در راستای سطر، اما از انتها قرار میده.د)column-reverse: عناصر رو در راستای ستون، اما از انتها قرار میده.برای مثال، مقدار column وcolumn-reverse رو با هم امتحان می‌کنیم. به کد زیر توجه کنین:کد HTML:&lt;div id=&quot;parent&quot;&gt;         &lt;div id=&quot;div1&quot;&gt;1&lt;/div&gt;        &lt;div id=&quot;div2&quot;&gt;2&lt;/div&gt;        &lt;div id=&quot;div3&quot;&gt;3&lt;/div&gt;        &lt;div id=&quot;div4&quot;&gt;4&lt;/div&gt;&lt;/div&gt;کد CSS  فلکس باکس :#parent{display: flex;flex-direction: column;   }#parent div {width:100px;height:100px;margin:10px;color:white; }#div1{background-color:red;}#div2{background-color:green;}#div3{background-color:blue;}#div4{ background-color:orange;}نتیجه یکی دیگر از فلکس باکس در سی اس اس :همونطور که میبینیم، تونستیم عناصر فرزند رو در راستای ستونی توسط دستور flex-direction:column از ویژگی flexbox مرتب کنیم. حالا کد CSS رو اینبار با flex-direction:column-reverse می‌نویسیم.کد CSS:#parent{display: flex;flex-direction: column-reverse; }نتیجه این مثال از ویژگی فلکس باکس به صورت زیر تغییر می‌کنه:توسط مقدار column-reverse تونستیم ترتیب عناصر فرزند رو کاملا وارونه کنیم.مقادیر row وrow-reverse هم به شکل همین مثال، اما در راستای سطر، عمل می‌کنن.خاصیت flex-growبه مثال زیر که شبیه به مثال های قبله، یه نگاهی بندازین: ( Flex grow در css )کد HTML Flexbox :&lt;div id=&quot;parent&quot;&gt;        &lt;div id=&quot;div1&quot;&gt;1&lt;/div&gt;       &lt;div id=&quot;div2&quot;&gt;2&lt;/div&gt;       &lt;div id=&quot;div3&quot;&gt;3&lt;/div&gt;       &lt;div id=&quot;div4&quot;&gt;4&lt;/div&gt;&lt;/div&gt;کد CSS:#parent{display: flex;flex-direction: row; }#parent div{width:100px;height:100px;margin:10px;color:white; }#div1{background-color:red;}#div2{background-color:green;}#div3{background-color:blue;}#div4{background-color:orange;}تو نتیجه این کد، یه فضای خالی به وجود میاد که به فرم زیره:به وجود اومدن چنین فضایی، چه در حالتی که جهتflex ما سطر و چه ستون باشه، کاملا طبیعیه و به دو دلیل به وجود میاد:یا اندازه عنصر پدر رو خیلی بزرگ گرفتیم.یا اندازه عناصر  فرزند کوچیکه.خب، خاصیت flex-grow اینجا به کمک ما میاد، به این صورت که با دادن این خاصیت به هر عنصر، می‌تونیم اونارو مجبور کنیم که این جای خالی رو پر کنن. حالا چطوری؟این خاصیت، اعداد رو به عنوان مقادیر قبول می‌کنه و جای خالی ایجاد شده رو به عنوان عدد ۱ در نظر می‌گیره.به عبارتی اگه به div دوم، دستورflex-grow:1 رو اختصاص بدیم، با چنین نتیجه ای طرف خواهیم بود:بنا بر این منطق، ما می‌تونیم جای خالی ایجاد شده رو توسط چند div هم پر کنیم، پس کد CSSای که چندی پیش نوشتیم رو در چند جا تغییر میدیم.#div2{background-color:green;flex-grow:0.3; }#div3{background-color:blue;flex-grow:0.7; }نتیجه:خاصیت flex-wrapخاصیت Flex wrap در CSS به درد این می‌خوره که عناصر رو بین سطر ها و ستون های مختلف تقسیم کنه و اجازه نده همشون فقط تو یه سطر و ستون فشرده بشن.فرض کنین تو مثال قبل، مجبور بشیم که تعداد عناصر فرزند رو بالا ببریم.یا مجبور بشیم که عرض اون هارو زیاد کنیم، پس کد رو به شکل زیر تغییر می‌دیم:#parent div{width:500px;height:100px;margin:10px;color:white; }نتیجه به شکل زیر درمیاد:اینجا میبینیم که تمامی عناصر فرزند هنوز در راستای یک خط هستن. اما بحث اینجاست که عرض هیچکدوم از اون ها، ۵۰۰ پیکسل نیست، بلکه عرض فقط تاجایی زیاد شده که عرض صفحه ما گنجایش اون رو داره.ما اگه عرض رو از ۵۰۰ پیکسل، به ۱۰۰۰ پیکسل هم برسونیم، باز همین نتیجه رو می‌گیریم و هیچ تغییری مشاهده نمی‌کنیم!در اینجا ما از flex-wrap استفاده می‌‌کنیم، دستوری که باعث می‌شه عناصر رو در خطوط یا ستون های مجزا تقسیم کنیم.این دستور ۳ مقدار رو قبول می‌کنه:الف)no-wrap: مقدار پیش فرضی که عناصر رو در یک خط یا ستون میچینه.ب)wrap: مقداری که عناصر رو، به ترتیب بین خطوط و ستون ها تقسیم می‌کنه.ج)wrap-reverse: مقداری که عناصر رو، بر خلاف ترتیب بین خطوط و ستون ها  تقسیم می‌کنه.حالا به عنصر پدر، دستور flex-wrap:wrap رو اضافه می‌کنیم.#parent{display: flex;flex-direction: row;flex-wrap: wrap; }نتیجه به فرم زیر تغییر می‌کنه:حالا مقدار wrap-reverse رو بررسی می‌کنیم.#parent{display: flex;flex-direction: row;flex-wrap: wrap-reverse; }نتیجه صفحه آرایی با فلکس باکس :همونطور که میبینیم، عناصر فرزند، به ترتیب معکوس چیده شدن.خاصیت flex-shrinkخاصیت Flex shrink در css ، کاملا معکوس خاصیت flex-grow رفتار می‌کنه.به این معنا که با کوچکتر شدن صفحه، عنصر فرزندی که دارای مقدار flex-shrink بیشتری هست، به نسبت بقیه عناصر فرزند، عرض کوچکتری رو به خودش می‌گیره.خاصیت flex-flowخاصیت flex flow در CSS ، خلاصه شده flex-direction و flex-wrap هست. توسط این خاصیت می‌تونیم دو کاربرد رو در یک دستور خلاصه کنیم.برای استفاده از این دستور، کافیه مقدار flex-direction رو اول نوشته و بعد مقدار flex-wrap رو بنویسیم، به مثال زیر توجه کنین:#parent{display: flex;flex-flow: row wrap;}و نتیجه دقیقا شبیه مثال خاصیت flex-wrap خواهد بود:خاصیت flex-basisخاصیت flex basis در CSS ، اندازه و ابعاد یک آیتم flex رو مشخص می‌کنه.از این خاصیت می‌تونیم به جای width، زمانی که جهت flex ما خطیه، و به جایheight، زمانی که جهت flex ما ستونیه استفاده کنیم.مقادیر مورد قبول این خاصیت عبارتند از:الف) auto: مقدار پیش فرض (ابعاد عنصر متناسب با محتوای آن خواهد بود)ب) مقدار عددی بر حسب واحد های نامتغیرج) مقدار درصدیتراز افقی با خاصیت justify-contentاگه بخوایم عناصر فرزند رو در راستای افقی، تراز کنیم، باید ازخاصیت justify-content در CSS استفاده کنیم.مقادیر مورد قبول این خاصیت به ترتیب زیر هستن:الف) center: عناصر فرزند رو به وسط عنصر پدر میاره.فرض کنیم که کد CSS مثال های قبل رو به فرم زیر تغییر بدیم:#parent{display: flex;flex-direction: row;justify-content: center;}نتیجه این مثال از flexbox در css به فرم زیر مشاهده میشه:در اینجا میبینیم که طبق تعریف، عناصر فرزند به وسط عنصر پدر ( با عرض 100% ) هدایت شدن.ب) flex-start: عناصر فرزند رو به ابتدای عنصر پدر می‌بره.حالا کد رو توسط این مقدار، تغییر میدیم تا ببینیم منظور از ابتدای عنصر پدر چیه؟#parent{display: flex;flex-direction: row;justify-content: flex-start; }نتیجه این مثال از خاصیت flex در CSS :خب، میشه گفت منظور از ابتدای عنصر پدر، نقطه‌ و جهتی هست که محتوا از اونجا شروع به تولید شدن می‌کنه.دقیق تر بگیم، وقتی تو یه صفحه، جهت نوشتار ما چپ چین باشه، تولید محتوا از سمت چپ شروع می‌شه و در صورت راست چین بودن، برعکس این اتفاق میفته.نکته: جهت تولید محتوا در یک صفحه،‌توسط خاصیت و دو مقدار زیر اتفاق میفته:body{direction: ltr; } یا body{direction: rtl; }ج) flex-end: عناصر فرزند رو به انتهای عنصر پدر می‌بره.کاملا مشابه مقدار flex-start در فلکس باکس درCSS3 ، منتهی به صورت معکوس.توضیح در مورد flexbox : بدین ترتیب که تولید محتوا از هرطرفی که باشه، توسط این مقدار، می‌تونیم برخلاف اون جهت تولید محتوا رو انجام بدیم. د) space-between: متناسب با عرض عنصر پدر، عناصر رو تقسیم می‌کنه.ساده بگیم، بدون دست زدن به عرض عناصر، به شکلی مرتبشون می‌کنه که تمام عرض عنصر پدر رو در بر بگیرن. نتیجه این مقدار رو در شکل زیر میبینیم:ه) space-around:  مشابه مقدار space-betweem، با این تفاوت که دور عناصر ابتدا و انتها فضا ایجاد می‌کنه.با یک عملکرد مشابه space-between، و با این تفاوت که فاصله بین عناصر رو ملایم تر تنظیم می‌کنه و دور هرکدوم از اون‌ها یه فاصله ایجاد می‌کنه:تراز عمودی با خاصیت align-itemsاین خاصیت، کاملا شبیه به خاصیت justify-content اما در راستای محور عمودی هست.نکته: این خاصیت تنها زمانی کار می‌کنه که عنصر پدر مورد نظر، دارای ارتفاعی بیشتر از ارتفاع عناصر فرزند خودش باشه.مقادیر مورد قبول این خاصیت عباتند از:مقدار center: محتوا رو در راستای ارتفاع عنصر پدر، وسط چین می‌کنه. کافیه کد CSS عنصر پدر رو به فرم زیر تغییر بدیم:#parent{display: flex;flex-direction: row;align-items: center;height: 500px; }نتیجه رو به فرم زیر مشاهده می‌کنیم:مقدار flex-start: محتوا رو از بالای عنصر پدر تولید می‌کنه.کافیه مقدار خاصیت align-items رو بهflex-start تغییر بدیم:#parent{display: flex;flex-direction: row;align-items: flex-start;height: 500px; } مقدار flex-end: محتوا رو از پایین عنصر پدر تولید می‌کنه.#parent{display: flex;flex-direction: row;align-items: flex-end;height: 500px;} مقدار stretch:  محتوا در راستای ارتفاع عنصر پدر، گسترش میده.نکته اینجاست که مقدار موردنظر، در صورتی کار می‌کنه که به هیچکدوم از divها، ارتفاع خاصی اختصاص داده نشده باشه.#parent{display: flex;flex-direction: row;align-items: stretch;height: 500px;}مقدار baseline:  عناصر فرزند، در راستای خط مبدا خودشون تراز میشن.برای استفاده از این مقدار، اول باید بدونیم کهbaseline یا خط مبدا به چه معنیه؟این مفهوم تعریف دقیقی نداره، اما در یک تعریف ساده، به خطی اطلاق میشه که “زیر محتوای عنصر کشیده میشه”. بر اساس همین تعریف، کافیه که محتوای هر عنصر رو یکم تغییر بدیم و ببینیم که این مقدار چطور رفتار میکنه:نکته بسیار مهم: اگه جهت flex رو به صورت column قرار بدیم، کاربردjustify-content وalign-items باهم عوض می‌شه. خاصیت اول عناصر فرزند رو به صورت عمودی، و خاصیت دوم اون ها رو به صورت افقی تراز می‌کنه.تراز محتوا با خاصیت align-contentاین خاصیت، مخلوطی از دو خاصیت align-items وjustify-content هست و همزمان کمی با اون ها متفاوت رفتار می‌کنه.وظیفه ی این خاصیت، انجام تراز عمودی برای خطوطی هست که عناصر فرزند رو در بردارن، و مقادیر مورد قبول اون به شرح زیره:center flex-start –  (شروع  فلکس)flex-end –  (پایان فلکس)stretch space-around –  (فاصله  از اطراف)space-between –  (فاصله از هم یا فاصله بین)به مثال زیر توجه کنین:#parent{display: flex;flex-wrap: wrap;align-content: space-around;height: 500px;  }نتیجه:و همونطور که انتظار داشتیم،‌ تونستیم مقدارspace-around رو بین خطوط دربرگیرنده عناصر فرزند اعمال کنیم.نکته: این خاصیت زمانی عمل می‌کنه که عناصر فرزند ما در بیشتر از یک خط چیده شده باشن.نکته: خاصیت های align-items، justify-content و align-content با توجه به جهتflex عنصر پدر (flex-direction)  رفتار می‌کنن. برای مثال، اگه عناصر flex ما در راستای ستونی باشن، خاصیتjustify-content تراز دهی عمودی رو انجام می‌ده. دو خاصیت دیگه هم به این منوال تغییر می‌کنن.</description>
                <category>حامد مشهدی</category>
                <author>حامد مشهدی</author>
                <pubDate>Tue, 21 Sep 2021 14:22:30 +0430</pubDate>
            </item>
                    <item>
                <title>فرق هاست (Host)  و دامنه (Domain) چیست؟</title>
                <link>https://virgool.io/Devedoping/%D9%81%D8%B1%D9%82-%D9%87%D8%A7%D8%B3%D8%AA-host-%D9%88-%D8%AF%D8%A7%D9%85%D9%86%D9%87-domain-%DA%86%DB%8C%D8%B3%D8%AA-va0ezyqlnwza</link>
                <description>سلام. برای اینکه فرق هاست (Host)  و دامنه (Domain) رو درک کنیم ، دانستن مفاهیم و تعاریف اولیه از هر کدام ضروری است. برای طراحی سایت ابتدا می بایست اقدام به خرید هاست و خرید دامنه سایت کنیم . اما هاست و دامنه چیست؟ برای طراحی سایت و داشتن آدرس اینترنتی، لازم است که شما برای خرید هاست و دامنه از یک شرکت میزبان معتبر اقدام کنید. زیرا موضوع مالکیت سرویس هاستینگ و سرویس دامنه (دامین)، بسیار مهم است. در این مقاله قصد داریم شما را با مفاهیم هاست و دامنه، بیشتر آشنا کنیم. پیش از پاسخ به سوال هاست و دامنه چیست ، در ادامه هر یک از مفاهیم هاست و دامنه را به‌صورت مجزا بررسی خواهیم کرد.1-  هاست (Host) چیست ؟هاست (Host) میزان فضای مشخصی است که می‌توان در آن انواع داده‌ها و اطلاعات را ذخیره کرد. به بیان دیگر فضایی است که اطلاعات سایت شما بر روی آن قرار می‌گیرد. این اطلاعات می‌تواند شامل صفحات وب‌سایت، تصاویر، فایل‌های CSS، جاوا اسکریپت و یا هر فایل دیگری باشد.هاست‌ها بر روی سرورهای خاصی نگهداری می‌شوند.  این فضا برروی هارد دیسک سرورهایی با سیستم عامل ویندوز یا لینوکس (که در دیتاسنترهای معتبر داخلی و یا خارجی مستقر می باشند) قرار دارد و اطلاعات سایت با توجه به قدرت سرور و ارتباطات مناسب دیتاسنتر مربوطه می تواند بدون کوچکترین وقفه و با بیشترین سرعت ممکن در سراسر دنیا در دسترس باشد.هاست ها بر اساس دو نوع سیستم عامل ویندوز و لینوکس کار می‌کنند. به تناسب نوع سیستم عامل و نوع زبان برنامه نویسی سایت، هاست‌ها به 2 دسته تقسیم می شوند:هاست ویندوز: هاست ویندوز بر روی سرورهایی با سیستم عامل ویندوز، کاربرد دارد. در این باره باید توجه داشته باشید که هاست ویندوزی از زبان برنامه نویسی ASP پشتیبانی می‌کند.هاست لینوکس:هاست لینوکس بر روی سرورهایی با سیستم عامل لینوکس، به کار گرفته می‌شوند. در این باره نیز، بدانید که هاست لینوکس از زبان برنامه نویسی php پشتیبانی می‌کند.هاست‌ها بر اساس نوع سرویس ارائه شده نیز به انواع مختلفی تقسیم می‌‌شوند که عبارتند از: هاست اشتراکی در این سرویس، در یک سرور اختصاصی یا مجازی به تعداد مشخصی از کاربران، هاست ایجاد می‌شود که هر کدام از آنها به سایت خود دسترسی دارند. به بیان دیگر، منابع یک سرور، بین چندین وب سایت تقسیم می‌شود. تمام سرویس‌های با نام میزبانی وب یا هاست در اینترنت از نوع اشتراکی است، هاست اشتراکی از اقتصادی‌ترین روش‌های وب هاستینگ است. هرچند این سرویس امنیت نسبتا خوبی دارد، اما با توجه به وجود تعداد دیگری سایت در یک سرور، استفاده از این سرویس برای سایت‌های بسیار معتبر توصیه نمی‌شود. سرور مجازیاز تقسیم کردن یک سرور اختصاصی به چند سرور، سرور مجازی یا vps شکل می‌گیرد. این سرویس، امنیت و گاهی سرعت بیشتری نسبت به هاست اشتراکی دارد. سرور مجازی برای وب‌سایت‌های پربازدید، مهم و سایت‌های نیازمند به امنیت بالا، توصیه می‌شود.سرور اختصاصیاین نوع سرور به‌صورت انحصاری در اختیار کاربر قرار داده می‌شود. به عبارت دیگر، منابع و مدیریت سرور کاملا در اختیار یک کاربر است و به اشتراک گذاشته نمی‌شود و این به این معنی است که هیچ سایت دیگری در سرور شما آپلود نخواهد شد. به این ترتیب شما می توانید از تمام منابع سرور مانند سی‌پی‌یو، رم و هارد، به‌صورت شخصی استفاده کنید این سرویس بیشترین قدرت و امنیت را دارد اما هزینه آن نیز بسیار زیاد است و بیشتر برای وب‌سایت‌ها و پروژ‌ه های بزرگ استفاده می‌شود.ویژگی‌های یک هاست خوب چیست؟در بخش‌های قبل با مفهوم هاست آشنا شدیم و انواع آن را شناختیم. اکنون می‌خواهیم این موضوع را بررسی کنیم که یک هاست خوب باید چه ویژگی‌هایی داشته باشد.سرعت بالااولین و مهم ترین ویژگی هاست خوب این است که دارای سرعت خوبی باشد. می‌توانید چندین وب‌سایت را مورد ارزیابی قرار دهید و سرعت آن‌ها را بسنجید. حداقل سرعت برای بارگذاری سایت، 2 تا 5 است تا لودینگ آن به اتمام برسد. هر صفحه از وب‌سایت باید با سرعت بارگذاری شود.منابع مناسب (RAM) و (CPU)از دیگر ویژگی‌های یک هاستینگ خوب این است که منابع مناسب RAM و CPU به کاربران خود ارائه دهد. در واقع وجود منابع مناسب(RAM و CPU) از ویژگی‌های یک هاست خوب به‌شمار می‌رود.اهمیت هارد سرورمورد بعدی که باید به آن توجه کنید، هارد هاست است. هارد نیز در سرعت باز شدن صفحات سایت تاثیرگذار است. اگر هارد نامناسب داشته باشید قطعا سرعت باز شدن صفحات وبسایت کند خواهد بود.امنیتتامین امنیت از مهم‌ترین ویژگی‌های یک هاست خوب به‌شمار می‌رود. اگر یک شرکت امنیت بالایی برای کاربران خود فراهم نسازد، نمی‌تواند اعتماد آنان را جلب کند و میزبان خوبی باشد، بنابراین تمامی تلاش‌های مجموعه بی اثر خواهد بود.بکاپ‌گیری‌ منظم از هاستیک هاستینگ خوب باید از وب‌سایت شما در لایه های مختلف بکاپ‌گیری کند تا در مواقع مورد نیاز، بازیابی شوند. اما بهتر است تنها به این مورد اکتفا نکنید و در بازه‌های زمانی منظم از سرویس هاست، نسخه بکاپ تهیه کرده و روی هاست بکاپ ذخیره کنید.پهنای باند مناسببرای انتخاب پهنای باند، میزان انتقال داده (Data Transfer) سایت را مدنظر قرار دهید و در نظر داشته باشید که پهنای باند کافی، احتمال بروز قطعی(Down Time) را کاهش می‌دهد. به عنوان مثال وب‌سایتی با محتوای ویدیویی دارید و در کنار آن نیز فایل‌هایی را برای دانلود قرار داده‌اید، در این شرایط، به پهنای باند بالا نیاز خواهید داشت و باید طوری برنامه‌ریزی کنید که با اتمام پهنای باند، وبسایت شما Down (داون) نشود.فضای مناسبداشتن فضا یا ظرفیت لازم، از دیگر ویژگی‌های هاست خوب است. تصور غلطی در میان کاربران رایج شده است که اگر به فضای بیشتری نیاز دارید باید هزینه بیشتری نیز پرداخت کنید. بنابراین اغلب کاربران تصور می‌کنند هاستی خوب است که تنها فضای زیادی داشته باشد. در صورتی که این دیدگاه کاملا غلط است. فضای هاست، تنها برای نگهداری فایل‌های مربوط به وب‌سایت مورد استفاده قرار می‌گیرد در کنار این فضا باید منابع مورد نیاز سایت نیز تامین شود.2- دامنه (Domain) چیست؟دامین یا دامنه (Domain)، نامی است که وب‌سایت از طریق آن قابل دستیابی خواهد بود. به عبارت دیگر، دامنه، آدرس وب‌سایت است. همان عبارتی که مخاطبان برای مشاهده سایت، آن را در نوار مرورگر خود وارد می‌کنند. دامین (Domain) برند شما در فضای مجازی است. شما در اینترنت با نام دامین خود شناخته خواهید شد و هر بازدیدکننده با استفاده از نام دامین شما می تواند وب سایت شما را مشاهده کند. شما برای استفاده از نام دامین دلخواه خود می بایست ابتدا آنرا برای مدت مشخصی ثبت کنید. پس از اینکه دامین به نام شما ثبت شد، در طول مدت دوره ثبت، امکان استفاده از آن تنها برای شما امکان پذیر است به‌طور کلی دامنه از دو بخش نام و پسوند تشکیل می‌شود.1) پسوندپسوندهایی مجاز و معتبر شمرده می‌شوند كه توسط كمیته مخصوص تایید و تصویب پسوندها یعنی ICANN تایید شده باشند. این پسوندها از نظر فنیTop Level Domain یا به اختصارTLD هستند كه می توان آنها را در3 دسته كلی به ترتیب زیر تقسیم بندی نمود:پسوندهای عمومی (gTLD)این پسوند ها برای ثبت و استفاده عموم و هر نوع كاربری مجاز (قانونی) قابل استفاده می باشند. از جمله این پسوندها می‌توان به .com , .net , .org و… اشاره کرد.پسوندهای اختصاصی (ویژه)فعالیت بر روی این پسوندها باید از قوانین خاصی تبعیت کند. در واقع افراد و سازمان‌هایی با مشخصات و فعالیت‌های خاص می‌توانند بر روی این پسوندها اقدام به ثبت دامنه کنند. هنگام ثبت و در مدت استفاده از پسوندهای اختصاصی، رعایت قوانین خاص اجباری است. پسوندهایی مانندorg.ir, co.ir و… نمونه‌هایی از این نوع پسوندها به‌حساب می‌آیند.پسوندهای ملی/كشوری (ccTLD)علاوه بر پسوندهای عمومی و خاص، كشورهای مختلف نیز می توانند اقدام به درخواست پسوند با كد اختصاری كشور خود، که کدی است دو حرفی، (مانند ir برای ایران) داشته باشند. اداره این پسوندها، قوانین و نحوه تخصیص آنها در اختیار دولت ها یا مراكز معرفی شده توسط مراجع رسمی هر كشور است.2) نامپس از انتخاب پسوند، انتخاب نام دامنه مهمترین قسمت تشكیل دهنده آدرس یك وب سایت است. این نام از تركیب 3 الی 64 حرف، عدد یا خط تیره (بدون فاصله) تشكیل می‌شود. نام دامنه همان نام سایت است و پسوند دامنه بیانگر نوع سایت خواهد بودچرخه حیات دامین هانمودار فوق چرخه حیات دامین ها را طبق قوانین موسسه ICANN نشان می دهد. توجه داشته باشید که دامین های ir از این قاعده مستثنی می باشند.آزاد(Available)در این دوره دامین برای ثبت آزاد می باشد و می توان با پرداخت هزینه ثبت دامین آن را به نام خود ثبت نمود.فعال(Active)در این دوره دامین فعال بوده و مالک آن می تواند در هر زمان دامین را تمدید نماید. مدت تمدید به انتهای مدت اعتبار دامین اضافه خواهد شد همچنین مدت اعتبار دامین نمی تواند بیش از 10 سال از تاریخ جاری باشد.منقضی(Expired)در صورتی که در دوره Active دامین، تمدید صورت نگیرد، در این دوره دامین غیر فعال خواهد شد. البته در طول این دوره مالک دامین می تواند با پرداخت هزینه تمدید، آن را مجددا تمدید نموده و به حالت Active بازگرداند.دوره بازخرید (Redemption Grace Period)پس از گذشت 45 روز از تاریخ انقضای دامین این دوره 30 روزه آغاز می شود در این دوره همانند دوره Expired دامین غیر فعال می باشد. در این دوره تمدید دامین تنها توسط مالک دامین و با پرداخت مبلغ جریمه 120 دلاری مازاد بر هزینه تمدید دامین امکان پذیر است.دوره حذف(Pending Deletion)در این دوره 5 روزه حتی مالک دامین نیز نمی تواند دامین را تمدید کند و پس از اتمام این دوره دامین برای ثبت مجدد توسط همگان آزاد خواهد شد و به حالت Available درخواهد آمد .نمودار زیر چرخه حیات دامین ها را طبق قوانین موسسه ICANN نشان می دهد. توجه داشته باشید که دامین های ir از این قاعده مستثنی می باشند.فرق هاست و دامنه چیست ؟در ادامه راجع به عملکرد متفاوت و در عین حال، پیوسته این دو مفهوم بیشتر توضیح خواهیم داد.هاست و دامنه با وجود عملکرد متمایز و مستقل، کاملا به هم پیوسته‌اند و وجود یکی بدون دیگری کاملا بی معناست.هاست يا همان ميزبان فضاي اينترنتي، مكاني است كه كاربران قادر‌ند تمام متن‌ها، اسکریپت‌ها، عکس‌ها، فیلم‌ها و دیگر اطلاعاتی که برای ایجاد یک سایت مورد نیاز است، بر روی آن نگهداري کنند. اما، دامنه‌ها یک سری علائم اینترنتی به‌شمار می‌‌روند که به مرورگرهای وب می‌گوید برای یافتن اطلاعات باید تا کجا جستجو کنند. با وجود اینکه این دو مفهوم کاملا از هم مستقل‌اند، اما به هم پیوسته و بسیا نزدیک هستند. هنگامی که کاربر نام دامنه را در مرورگر وارد می‌کند، اطلاعات وب‌سایت به نمایش در خواهد آمد. بدون دامنه، کاربر برای یافتن مکان داده‌ها بر روی اینترنت با مشکل مواجه می‌شود و بدون میزبانی وب، هیچ وب‌سایتی برای نمایش وجود ندارد.لازم به توضیح است که ارتباط بین دامین و هاست از طریق نیم سرورهایی (DNS) که برروی دامین تنظیم می شود برقرار می گردد. لذا توجه داشته باشید که بعداز خرید هاست مورد نظر حتما نیم سرورهای صحیح شرکت مربوطه را، با توجه به پلنی که خریداری نموده اید، جویا شده و آنها را از طریق پنل و یا پرتال مربوطه برروی دامین خود تنظیم نمایید. بعد از انجام اینکار با وارد شدن دامین شما در مرورگر اطلاعات قرار گرفته در فضای میزبانی شما لود خواهد شد و اصطلاحاً دامین به هاست شما متصل می گردد.ضرورت خرید هاست و دامنه معتبردر هر کسب‌وکار، یکی از مهم‌ترین اولویت‌ها به حداکثر رساندن میزان سود است. انتخاب یک وب میزبان اشتباه می‌تواند تاثیرات منفی زیادی بر میزان درآمد داشته باشد و مشکلات زیادی ایجاد کند. در ادامه به تعدادی از این مشکلات که به‌دلیل بی‌توجهی به تامین هاست و دامنه از منابع معتبر ایجاد شده‌اند، اشاره می‌کنیم.از دست دادن سوداگر سایت شما خراب شود، مشتریان شما قادر نخواهند بود که پست‌ها و وبلاگ شما را ببینند یا درباره محصولات و خدمات شما مطالب جدیدی بخوانند. در صورتی که شما میزبان یک فروشگاه آنلاین باشید، وضع بدتر خواهد بود چون درآمد زیادی را از دست خواهید داد. حتی اگر ضرر شما خیلی هم زیاد نباشد، اما باز هم از دست دادن سود به‌حساب می‌آید.اثر منفی در سئو سایتهدف شما در بازاریابی محتوا، کسب رتبه بالا درنتایج جستجو است. به‌این ترتیب، مشتریان می‌توانند شما را به راحتی پیدا کنند. اگر سایت شما هنگامی که موتور جستجو برای مشاهده آن تلاش می‌کند، خراب باشد، جایگاه و رتبه شما تحت تاثیر این موضوع قرار می‌گیرد.حملات امنیتی و مخربهرچند راه حلی کامل و بی‌نقص برای حفاظت از وب‌سایت‌ شما وجود ندارد. اما یک شرکت وب میزبان معتبر، اطلاعات شما را برای یک سرور از راه دور پشتیبانی می‌کند و امکان بازیابی وب‌سایت را در وضعیتی که سایت شما هک شده باشد، فراهم می‌کند. همچنین آن‌ها به شما برای مسائل پشتیبانی، حفاظتی و امنیتی بصورت 24 ساعته کمک خواهند کرد.</description>
                <category>حامد مشهدی</category>
                <author>حامد مشهدی</author>
                <pubDate>Wed, 15 Sep 2021 22:39:40 +0430</pubDate>
            </item>
                    <item>
                <title>فرانت اند چیست؟</title>
                <link>https://virgool.io/@hamedmashhadi89010/%D9%81%D8%B1%D8%A7%D9%86%D8%AA-%D8%A7%D9%86%D8%AF-%DA%86%DB%8C%D8%B3%D8%AA-pruhbbpn4xsu</link>
                <description> فرض کنید بین دوگروه موجود فضایی قرار گرفته اید که گروه اول فقط تصاویر و قالب‌های گرافیکی و نوشته‌ها را می‌فهمند و گروه دوم فقط کد می‌فهمند و شما هر دو مورد را می‌فهمید و به نوعی مترجم بین این دوگروه هستید. حالا به زمین برگردید، دسته اول مشتریان و مخاطبان وبسایت هستند، دسته دوم ابزارهای طراحی و شما به عنوان طراح فرانت همان نقش مترجم را بازی می‌کنید.یعنی چیزی که کاربر در صفحه لپتاپش می‌بیند را در واقع با کدنویسی می‌سازید. در حالت کلی تمامی پارامترها مانند صداها، فایل های تصویری و ویدیویی، عکس‌ها، داده‌ها و غیره که توسط کاربر قابل تماشا می باشند در قسمت فرانت اند به دوقسمت اصلی طبقه بندی می گردد که اولین آنها در زمینه طراحی وب و دیگری توسعه رابطه کاربری می باشد.هر بار که یک کاربر از سایت شما بازدید می کند، از طریق طراحی سایت خود درحال برقراری ارتباط با آن هستید.چگونه این اتفاق می افتد؟ برقراری ارتباط از طریق وب سایت شما در سطوح و رتبه های مختلف و در محدوده ای از متن، تصاویر و ساختار رنگ بندی ، عناوین و دکمه ها انجام می شود.تمام هستی سایت بر پایه تجربه کاربر است .برای اینکه مفهوم Front end را بهتر درک کنید، یک فیلم سینمایی را در نظر بگیرید. ظاهر سایت حکم فیلم سینمایی را دارد که شما مشاهده می‌کنید. بازیگران و صحنه‌های فیلمبرداری شده اجزایی هستند کهFront end را تشکیل می‌دهند و بر اساس دستورات کارگردان در جای مورد نظر قرار می‌گیرند و به بازیگری می‌پردازند. دستورات کارگردان، همان کدهای HTML، CSS و Java script می‌باشند که رابط کاربری را ایجاد می‌کنند.منظور از تجربه کاربری یا User Experience همان احساسی است که به کاربر در زمان روبرویی با سایت شما دست می‌دهد. بنابراین یک فرانت‌اند کار باید با نیازهای کاربر به خوبی آشنا باشد تا سایت یا برنامه‌ای طراحی کند که کاربر هنگام کار با آن احساس خوبی داشته باشد.کاربران به طور متوسط 10 ثانیه زمان خود را بر روی سایت شما صرف می کنند.واقعیت این است که کاربران مدت زمان زیادی را در سایت شما صرف نمی کنند که البته این موضوع جدیدی نیست.آیا کاربران در 10 ثانیه متوجه می شوند که سایت شما چه فعالیتی دارد؟ چه محتوایی تولید می کند و فلسفه سایت شما چیست؟ برای پاسخگویی به اینها، در مورد سوالات زیر فکر کنید: پیام کلیدی سایت من چیست؟ آیا کاربر در نگاه اول این پیام را درمیابد؟ آیا متون و دکمه ها درجای درستی قرار داده شده اند؟ آیا رنگ به کار برده شده در طراحی سایت با هم همخوانی دارند؟ تصاویر چه چیز را بیان می کنند و چگونه پیام کلیدی من را تماما می رساند؟ آیا وب سایت به طور کلی در اولین برداشت حس خوبی را به کاربر انتقال می دهد؟برای اینکه مفهوم Front end را بهتر درک کنید، یک فیلم سینمایی را در نظر بگیرید. ظاهر سایت حکم فیلم سینمایی را دارد که شما مشاهده می‌کنید. بازیگران و صحنه‌های فیلمبرداری شده اجزایی هستند کهFront end را تشکیل می‌دهند و بر اساس دستورات کارگردان در جای مورد نظر قرار می‌گیرند و به بازیگری می‌پردازند. دستورات کارگردان، همان کدهای HTML، CSS و Java script می‌باشند که رابط کاربری را ایجاد می‌کنند.فرانت اند به دو بخش اصلی طراحی وب و توسعه رابط کاربری تقسیم می‌شود .در بخش طراحی وب، طراحان با نرم افزار‌های گرافیکی مانند فتوشاپ ظاهر سایت را طراحی می‌کنند. اما بخش توسعه رابط کاربری مربوط به پیاده سازی ظاهر سایت در قالب کدهای HTML ،CSS و Java script است. زبان‌های برنامه نویسی که در فرانت به کار می‌روند، سمت کاربر یا Client Side می‌باشند. بنابراین کدهای نوشته شده در فرانت در مرورگر کاربر پردازش و اجرا می‌شوند. یعنی کاربر به راحتی به این کدها دسترسی مستقیم دارد و می‌تواند آن‌ها را مشاهده کند. فرانت اند با بخش بک اند (Back end) در ارتباط مستقیم است و تاثیر بسیاری بر روی تجربه کاربری (UX) دارد.دانش  ، فنون موردنیاز و مهارت‌ها ی توسعه‌دهنده فرانت‌اند(Front End)در حقیقت دانش و فنون با مهارت‌ها دو آیتم مجزا است که هر کدوم قابل بحث می‌باشند. دانش و فنون مورد نیاز و مهارت‌های توسعه‌دهنده فرانت‌اند( Front End Developer ) به شرح زیر است:مسلط به برنامه  CSS,Sass,Bootstrapمسلط به برنامه   Java script و کتابخانه های      مشهورمسلط به برنامه HTMLمسلط به برنامه‌های گرافیک و تصویرگریتسلط خوب به خدمات وب (AJAX,REST)تسلط کافی به  زبان انگلیسیوظایف و مسئولیت‌های یک توسعه‌دهنده فرانت‌اند( Front End Developer )به طور کلی نوشتن کد‌های فرانت برای برنامه‌های وب یا اپلیکیشن‌هاطراحی، ساخت و نگهداری وب‌سایت‌ها با استفاده از زبان‌ برنامه‌نویسی اسکریپ، ایجاد ابزار و  رسانه‌های دیجیتالینوشتن، طراحی و  ویرایش محتوای وب سایت‌ها و وتولید محتوا برای صفحات وب به صورت نرم افزاریانجام ارزیابی  از کدهای نوشته شده برای حصول اطمینان از سازگاری با استانداردهای سازمان و سازگاری با مرورگرها و دستگاه‌های مختلف کاربرانشناسایی باگ های  ایجاد شده توسط مشتری و اصلاح آنهاتست وب‌سایت طراحی شده براساس test caseانجام به‌روزرسانی‌های دوره‌ایی اپلیکیشنپیاده‌سازی طرح‌های تبلیغاتی (landing page) و  بازاریابی با همکاری بخش بازرگانی سازمانسئو موتورهای جستجو برای افزایش ترافیک وب سایت </description>
                <category>حامد مشهدی</category>
                <author>حامد مشهدی</author>
                <pubDate>Mon, 13 Sep 2021 11:14:27 +0430</pubDate>
            </item>
            </channel>
</rss>