PDA

View Full Version : مبتدی: قرار گرفتن صحيح Div ها در صفحه



xoogle.ir
سه شنبه 26 آبان 1388, 16:14 عصر
سلام به همه دوستان عزيز
من تازه html و css رو ياد گرفتم و الان بايد 2 3 تا قالب به عنوان تمرين بنويسم :ناراحت:
فقط الان يك مشكل كوچولو دارم:
وقتي ميخام Div هاي قالبم رو ايجاد كنم براي جايگيري دقيقا Div ها در صفحه بايد از left و top يا margin ها استفاده كرد.
ساختن Div هايي كه ارتفاع مشخصي دارند كار ساده اي هست اما مشكل زماني به وجود مياد كه ميخام يك Div رو زير يك Div ديگه كه ارتفاع مشخصي نداره بسازم مثلا ميخام يك Div اخبار زير Div محتواي سايت قرار بدم خب محتواي سايت هم كه خودتون ميدونيد در هر صفحه متفاوته و ممكنه در يك صفحه 500px ارتفاع داشته باشه و در يك صفحه 2000px !!
اين جور مواقع چه كار بايد انجام بدم تا Div اخبار هميشه زير content قرار بگيره ؟؟ چون به دليل مشخص نبودن height نميشه از پارامتر top استفاده كرد.

ممنون ميشم اگه سريعتر جواب بدين آخه كارم بدجور گيره :لبخند: اگر زحمت بكشيد با نوشتن چند خط كد يا قرار دادن فايل html و css يك layout توضيح بديد كه ديگه عالي ميشه :قلب:

mohsen_Iran
سه شنبه 26 آبان 1388, 16:22 عصر
سلام مشکل شما در این می باشد که شما div هاتون را به صورت absolute قرار میدهید شما اگه میخوایید که div ها زیر هم باشند این کار را انجام ندهید بلکه اونها را زیر هم قرار داده در کد html و خاصیت position اونا را مقدار ندهید تا به صورت ساده زیر هم قرار بگیرند که اگر بالایی تغییر کرد پایینی هم حرکت کند به پایین

xoogle.ir
سه شنبه 26 آبان 1388, 16:37 عصر
يعني اگر به position مقدار ندم مشكل حل ميشه ؟؟ شما درست گفتيد من از absolute استفاده ميكنم.
ميرم امتحان ميكنم خبرش رو ميارم دوباره اينجا :لبخند: راستي اگر تفاوتهاي مقادير position رو هم يه نفر توضيح بده خيلي خوب ميشه مثل absolute static relative fixed و اينكه از هر كدوم از اين مقادير كجاها بايد استفاده كرد.
راستي مقدار پيش فرض position چي هست ؟ :لبخندساده:

mohsen_Iran
سه شنبه 26 آبان 1388, 18:59 عصر
سلام
شما زمانی که از absoluteاستفاده میکنید یا relative باید حتما مقدار top left رو بدید یعنی از حاشیه ها تعیین کنید که چقدر فاصله دارند
fixed: تعیین میکند که المان شما در صفحه جای ثابتی داشته باشد و با تغییر دادن اسکرول تغییر نمیکند و میشه گفت یه جای ثابت در مانیتور شما دارد
absolute :به صورت آزاد است که باید تعیین کنید در کجا قرار بگیره با همون top ..... و امکان دارد در صورت تغییر روی تغییر سایز المان ها روی هم بیفتن
relative: به صورتی است که شما المان مورد نظر رو در جایی قرار میدید و با استفاده از خاصیتهای top ... یک نسبتی بین جای اصلی و جایی که نمایش داده میشه ایجاد میکنید و مثل absoluteکاملا آزاد نیست و تحت تاثیر عناصر دیگر است
static : فکر کنم حالت عادی باشه و پیش فرض هم همینه البته در مورد این یکی مطمئن نیستم

xoogle.ir
سه شنبه 26 آبان 1388, 23:53 عصر
ممنون محسن جان
من تونستم يكي از قالبهام رو بسازم فقط 2 تا نكته نامفهوم برام باقي موند:
1- در مورد relative ، دقيقا متوجه نشدم كه لايه اي كه اين مقدار رو داشته باشه تحت تاثير چي قرار ميگيره چون من توي لايه header اومدم 3 تا لايه ديگه ساختم براي زبانها ، منو و search لايه هاي منو و search توي يك خط بودن اما مقدار margin-top شون با هم فرق ميكرد مثلا يكي 110px بود يكي 70px هر 2 تا هم relative بودن :متفکر:

2- اگه بخام ارتفاع يك لايه رو به ارتفاع يك لايه ديگه وابسته كنم چه كار بايد انجام بدم مثلا در سمت راست قالبم يه sidebar دارم كه نميخام از لايه content كوتاه تر يا بلندتر بشه ميخام ارتفاعشون تحت هر شرايطي برابر باشه ! دارم روش فكر ميكنم :گریه:

mohsen_Iran
چهارشنبه 27 آبان 1388, 21:56 عصر
سلام خواهش میکنم البته من خودمم زیاد چیزی بلد نیستم
در مورد اولی سوالت اینو بگم که relative تحت تاثیر div هایی بالایی قرار خواهد گرفت ولی نمایش اون در جایی که قرار گرفته نخواهد بود شما با دادن مقدار به top .left....... میتونید جای اونو تغییر دهید ولی اگه بالای اون یک div باشه و اون ارتفاعش بیشتر بشه تحت تاثیر قرار میگیره و به پایین می آید. مثالی که برای Header خودتون زدید فکر میکنم که شما مقدار به top left right یا bottom ندادید!
برای دومی سوالتون فکر کنم این خوب باشه
http://barnamenevis.org/forum/showthread.php?t=116200&page=2
:)