🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۰ amin javadi
نکته اموزشی-خلاصه درس
جامعه وردپرس (برنامه نویسی) ایجاد شده در ۱۲ خرداد ۱۴۰۲

المان شناور یا استیکی یا چسبنده به اسکرول :

در ابتدای جلسه میخوایم المان بجای اینکه fix باشه همراه اسکرول شناور بشه یعنی با اسکرول اون باکس ما از صفحه بیرون نره و به بیان دیگر: بقیه متن‌ها و جاهای صفحه اسکرول میشن واالمان مدنظر ما توی صفحه اسکرول نشه و ما هموواره می‌بینمیش برای این کار باید از پوزیشن sticky به معنای چسبنده استفاده کنیم

چند نمونش رو در اینجا ببینید تا بفهمید منظور چیست :

0a73-scale (Copy).gif

94c7-screenshot-2 (Copy).gif

پس میتوان گفت علاوه بر اینکه که چسبنده یا همان شناور یا فلوب باشه بگوییم 20 پیکسل هم از بالا فاصله داشته باشه در این صورت :

position: sticky;

 top: 20vh;<<<یعنی بیست پیکسل از بالا فاصله داشته باشه

مهم : فقط باید به عنصر یا کامپوننت یا بلاک والد این استیکی رو بدیم نه به عنصر درونیش.

مهم : استیکی تنها هیچ اتفاقی نمیفته و باید حتما top اون رو هم برابر با یه مقداری قرار بدیم

inline , display block :

یک لیست ایجاد میکنیم که در هر خط ان یک لینک باشد که با تگ a ایجاد شده است این لیست رو بصورت زیر ایجاد میکنیم :

c8aa-2023-06-02_022246.pngخروجی بصورت زیر خواهد یود :

6793-2023-06-02_021915.png

حال هدف اینجاست که چیزهای دیفالتی که اینجا هس مثل نقطه هاش و یا افقی بودنش رو میخوایم ادیت کنیم !

بنابراین یک کلاس در index.html ایجاد میکینم و توی فایل css روی اون کلاسش کار میکینیم :

index.html

9b04-2023-06-02_022131.png

display : inline

لیست را به گوشه می‌برد و حاشیه هاش رو ازش میگیره الان ul من inline شدهدر صورتی که میخواهیم li‌های درونش inline بشه پس میگیم li‌های درون class nav رو به حالت inline در بیار :

6895-2023-06-02_023150.png

تفاوت display : inline با display : block و display : inline-block :

استاد به عهده دانشجو میگزاره ولی اشاره ای میکند به اینکه یکی از این‌ها padding میگیره و یکی نمیگیره .

ادامه تا ساعاتی دیگر :

به طور کلی inline‌ها یک مشخصه خوب دارند و یک مشخصه بد

2a18-inlineee.pngمشخصه خوب inline :

: اینکه در خط جدید استارت نمیشوند همانظور که از اسمشون معلوم هم هس پس بنابراین فضایی اضافی رو هم اشغال نمیکنند ودر حالی که بلاک المنت‌ها درست برعکس تمام مشخصات inline هستن .

مشخصه بد inline :

اگر پروپرتی‌های عرض وطول در کنار ان‌ها استفاده کنیم هیچ اثری روی المان نخواهد گزاشت چرا که inline‌ها عرض و طولشان به انداره محتوایشان است

بلاک المنت‌ها یک مشخصه خوب دارند یک مشخصه بد :

7089-block.pngمشخصه خوب block :

برعکس inline‌ها میتوان از پروپرتی‌های عرض و زول به مقدار دلخواه استقاده کینم چرا که چیزی بغل دستشون نیست و کل لاین رو اشغال کرده اند حتی اگر عرض و طول مشخصی برایشان تعیین کرده یاشسم

مشخصه بد block :

کل لاین رو اشغال میکنن هر چند که برایشان زول و عرض مشخصی را تعیین کرده باشیم مثلا به عنوان مثال یک مربع در یک لاین قرار گرفته ولی این مربع با اینکه بنظر میاد بغل دستش هیجی نیست ولی اجازه نمیده بغل دستش چیزی باشه چراا که کل فضا رو اشغال کرده

div بصورت پیشفرض بلاک المنت هست حتی اگه ننویسیم display :block

ترکیبی از مشخضات خوب توسط ترکیب کردن مشخصات خوب inline و block تبدیل میشود به inline-block :

در این حالت یعنی display : inline-block انگاه هم میتوانیم در یک خط کنار هم المان‌ها رو قرار بدیم و هم عرض و طول المان‌ها در نظر بگیریم یعنی ترکیبی از دو مشخصه خوب دو مورد بالا

ecf8-2023-06-02_032752.png

خب اینم از مقایسه پس میتونیم li هایی که ایجاد کردیم رو inline-block کنیم

text-decoration

اما حالا میخوایم اون لیستی رو که در ابتدا ایجاد کردیم رو خط‌های زیر لینک‌ها از بین بره طبق عکس زیر:

7dc7-2023-06-02_044737.png

نکته : اگر از یک فریمورک استفاده میکردیم در فایل نرمال یا preset اون این کارا رو انجام داده یعنی خودش خط زیرش نیس چون یه چیز اضافیه .

نکته : اگر با گذاشتن display:inline-block بولت‌ها یا نقظه‌های کنارش از بین نرفت از list-style:nine استفاده میکنیم

نکته : در اینن جلسه یاد گرفتیم که میتوان عناصر block رو inline کرد و همچنین برعکس

مثلا div پیشفرض خودش یک عنصر بلاکی هس که میتوان inline کرد با display:inline و یا مثلا عنصر span که خودش inline هس میتوان display : block ان را بلاکی کرد

نکته : اگر یک عنصری dispalaye ان non بود با block کردن ان به ما نمایش میدهد یعنی block تا حدودی حالت show هم داره و متضاد hidden هست

نکته پایانی این جلسه :

overflow : وقتی محتوای درون یک عنصر مثلا متن درون span از ارتفاع ان بیشتر باشه overflow یا سرریز میکند :

17b9-2023-06-02_050742.png

برای حل مشکل بالا باید توسط پروپرتی overflow ان را hidden کرد یعینی بگوییم که سرریز را نمایش نده و مشکل رفع میشود و یا اینکه میتوانم بگویم اسکرول بخوره :

a592-2023-06-02_051617.png

نکته : اگر دو تا پروپرتی مشابه هم میگزاشتیم اولویت با اخری می‌بود