دوره زبان تخصصی برای برنامه‌نویسان (هدیه ویژه ثبت‌نام در دوره‌های متخصص) (فرصت محدود ⏰)
۰ ثانیه
۰ دقیقه
۰ ساعت
۷ دانیال روحبخش
اعمال نشدن ارتفاع یکسان درنظر گرفته شده به دوعنصر مجاور هم (مثل بخش آخرین مقالات در کنار اسلایدر تصویر که استاد مثال زدند)
جامعه Html & CSS ایجاد شده در ۰۷ آذر ۱۴۰۱

باسلام و خسته نباشید

ببخشید استاد یک طرحی رو داخل نرم افزار adobe xd ایجاد کردند که از 7 بخش منو-آخرین مقالات-اسلایدر تصاویر-سایدبارسمت راست- محتوا-مطالب تصادفی-فوتر تشکیل شده

انتهای کلاس خواستند طرح رو بدون استفاده از ساختار grid-template-areas و صرفا با مطالبی مثل grid-area پیاده سازی کنیم

بعد از پیاده سازی قسمت منو ، زمانی که برای قسمت آخرین مقالات به اندازه 2 ردیف ، ارتفاع درنظر میگیرم مشکلی نیست اما بلافاصله زمانی که برای قسمت اسلایدر تصویر هم مشابه بخش آخرین مقالات همون ارتفاع ولی با عرض بیشتر درنظر میگیرم، عرض‌های داده شده به عناصر درست هستند اما ارتفاع به عناصر اعمال نمیشه. فایل کد‌ها ضمیمه همین پیام میشه

ممنون از راهنماییتون

درود

نکته ای که باید بهش توجه کنید اینه که ارتفاع در اصل میشه المان سوم که شما به هردوتاشون 3 دادید. یعنی به این صورت هست:

  • اولی: ردیف شروع
  • دومی: ستون شروع
  • سومی: ردیف پایان (یا اگر برحسب span بنویسید پهنای ردیف) که میشه ارتفاع المان
  • چهارمی: پهنای پایان (یا اگر برحسب span بنویسید پهنای ستون) که میشه عرض المان

میشه یه طرح کلی از چینش دلخواه تون بکشید (حتی شده با مداد) و بفرستید؟ من براساس اون کدتون رو اصلاح میکنم و بعد روش توضیح میدم تا مفهوم بهتر براتون روشن شه.

نازنین کریمی مقدم ۰۸ آذر ۱۴۰۱، ۲۲:۰۷

سلام مجدد. طرحی که استاد در کلاس طراحی کردند رو خدمتتون با نام layout بارگزاری کردم.

این طرح رو میخواستم طبق ساختار گرید پیاده سازی کنم. یعنی ارتفاع عناصر هم طبق طرح رعایت بشه. اما بعد از پیاده سازی منو (ردیف اول) ، دو عنصر بعد یعنی article و slider ، ارتفاعی یا همون میزان ردیف اشغالی که براشون درنظر میگیرم اعمال نمیشه و فقط میتونم میزان ستون (عرض عنصر) رو کنترل کنم

فایل کد این طرح رو خدمتتون با نام تمرین ضمیمه میکنم. فایل کدهایی که تقدیم کردم رو اگر بررسی کنید متوجه میشید که ردیف هایی که به عناصر برای مشخص کردن ارتفاع دادم اعمال نشده

دانیال روحبخش ۰۹ آذر ۱۴۰۱، ۰۸:۲۰

این هم طرحی که استاد سرکلاس طراحی کردند

دانیال روحبخش ۰۹ آذر ۱۴۰۱، ۰۸:۲۱

سلام مجدد

ممنون بابت آپلود، کدتون رو بررسی کردم.

احتمالا میدونید که وقتی اندازه رو با عدد وارد میکنیم، این میاد پهنای خط رو درنظر میگیره. اما اینکه این پهنای خط چقدر باشه عملا با grid-template-columns و  grid-template-rows تعریف میشه. وقتی خودکار درنظر گرفتید در پشت پرده مقدار پیشفرض یعنی 1px رو به خط میده. پهنای المان هم که در حالت عادی 10px درنظر گرفتید. بنابراین کمتر از مقدار 10 بدید اصلا اعمال نمیشه و اینطور بنظر میاد که ارتفاع نگرفته.

بنده یه فایل زیپ پیوست کردم که شامل دو راه برای حل مشکل هست.

در حالت اول یکم ارتفاع ردیف رو بیشتر کردم (بیش از 10) و اعمال شد.

در حالت دوم مقدارgrid-template-columns و  grid-template-rows رو تعریف کردم و بعد با اندازه‌های زیر ده کار کردم و خواهید دید که در اون حالت هم اعمال میشه.

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

      

نازنین کریمی مقدم ۰۹ آذر ۱۴۰۱، ۲۳:۵۹

سلام مجدد. ممنونم بابت وقتی که گذاشتید. خیلی لطف کردید. کاملا متوجه شدم

اما دو سوال جزئی :

1 : پس میشه در ابتدای پیاده سازی طرح ، اول تعداد ستون رو با پراپرتی grid-template-columns طبق طرح مشخص کرد و در انتها که مشخص شد از چند ردیف برای ارتفاع عناصر استفاده کردیم ، برگردیم و پراپرتی grid-template-rows را بر اساس ردیف‌ها (ارتفاع‌های درنظر گرفته شده) مشخص کنیم . درسته؟

2 : این قسمت از فرمایشتون رو متوجه نشدم که فرمودید پهنای المان رو 10 پیکسل درنظر گرفتم.

در آخر بازم تشکر میکنم از وقتی که گذاشتید

دانیال روحبخش ۱۰ آذر ۱۴۰۱، ۰۸:۴۲

خواهش میکنم

1. بله امکان پذیر هست و منم تقریبا به همین شکل نمونه دوم رو نوشتم.

2. به المان پدینگ 10 پیکسل دادیم. برای همین پهناش به طور پیشفرض فارغ از قضایای گرید ده پیکسل هست.

بهترین پاسخ
نازنین کریمی مقدم ۱۱ آذر ۱۴۰۱، ۰۴:۴۴

ممنونم بابت راهنماییتون

دانیال روحبخش ۱۱ آذر ۱۴۰۱، ۰۸:۴۲