View Full Version : سوال: قرار دادن تو در توی Div
  
hesamy2004
سه شنبه 16 فروردین 1390, 09:29 صبح
دوستان در قسمت body صفحه یه Div قرار دادم و میخوام در داخل این دو div دیگه در کنار هم داشته باشم. یکی 75 درصد صفحه رو بگیره و دیگری 25 درصد باقیمانده رو. div اولی مطالب وبلاگه و div دومی هم سایدباره.
حالا مشکلم اینجاست که نمیدونم چره هرسه div رو روی همدیگه نشون میده! این کد CSS هست:
#body_container{
	clear: both;
	margin: 10px 160px;
	border: 1px solid #3F0;
}
div.body_contents{
	float: left;
	margin-right: 25%;
	border: 1px solid #960;
}
div.sidebar{
	float: right;
	margin-left: 75%;
	border: 1px solid #F0F;	
}
و شکل خروجی رو در ضمیمه مشاهده میکنید.
در قسمت کد هم اینو نوشتم:
<!-- Code of body starts here-->
	<div id="body_container">
    	asdASDDS Dad sfsdf sfd  fadf 
            sdf af 
            sf sdf sdfadfasdf
            dfsdfasdf 
            sdfsdf adf
            asdfsdf sdf sdf 
            dfsdfasdf sdf dfadfasdfasdf fdsasf fdsasdfadsf fdsasdfadsfd
    	<div class="body_contents">
        	body contents.
            asdASDDS Dad sfsdf sfd  fadf 
            sdf af 
            sf sdf sdfadfasdf
            dfsdfasdf 
            sdfsdf adf
            asdfsdf sdf sdf 
            dfsdfasdf sdf dfadfasdfasdf fdsasf fdsasdfadsf fdsasdfadsfd 
        </div>
        
        <div class="sidebar">
        	sidebar. <br/>
            asdASDDS Dad sfsdf sfd  fadf 
            sdf af 
            sf sdf sdfadfasdf
            dfsdfasdf 
            sdfsdf adf
            asdfsdf sdf sdf 
            dfsdfasdf sdf dfadfasdfasdf fdsasf fdsasdfadsf fdsasdfadsfd
        </div>
    
	</div>
hesamy2004
سه شنبه 16 فروردین 1390, 10:03 صبح
در داخل سورس برنامه این خط رو اضافه کردم: 
<br style="clear:both;" />
مشکل اول حل شد یعنی دو div در داخل div بزرگتر قرار گرفتند ولی هنوز این دوتا بغل همیگه نرفتن :خجالت:
colors
سه شنبه 16 فروردین 1390, 10:32 صبح
درود
دوست من از اول یکی براتون ساختم - امیدوارم کارتونو راه بندازه.
کدهای CSS 
<style>
#div1{ position:absolute; background:#CCC; width:900px; height:500px}
#div2 { position:relative; border:1px solid red;  width:25%; height:100%; float:right}
#div3 { position: relative; border:1px solid blue; width:74%; height:350px}
</style>
اینم کدهای HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<div id="div1">
<div id="div2">
</div>
<div id="div3">
</div>
</div>
</body>
</html>
رضا قربانی
سه شنبه 16 فروردین 1390, 10:49 صبح
استفاده از پوزیشن خوب نیست و اصلا استاندارد نیست.
دوست چرا از <TABLE> <TR> <TD> استفاده نمی کنی ، باعث نظم و هماهنگی قالبتون می شه و به نظر من شما هم از جداول استفاده کنی بهتره.
جدول رو 100% در نظر بگیرید و  بقیه کار های لازم رو انجام بدید
hesamy2004
سه شنبه 16 فروردین 1390, 10:55 صبح
دمت گرم رفیق خیلی مرام گذاشتی. اصلاً انتظار نداشتم تینطوری وقت بزاری :تشویق:
راستش یه مشکلی هست. برای div اولی نمیخوام دقیق معلوم کنم چند پیکسل طول و عرضشه علت اینه که براوزرهای مختلف جورهای متفاوتی نمایش میدن و از قالب صفحه ام بیرون میره یا تو بعضی دیگه خیلی میره تو. برای همین یه مقدار کدی رو که زحمت کشیدی نوشتی بالا پایین کردم و این شد:
#body_container{
	height: auto;
	width: auto;
	position:relative;
	margin: 10px 160px;
	border: 1px solid #3F0;
}
div.body_contents{
	height: auto;
	width: auto;
	float: left;
	position:relative;
	margin-right: 25%;
	border: 1px solid #960;
}
div.sidebar{
	height: auto;
	width: auto;
	margin-left: 75%;
	border: 1px solid #F0F;	
}
حالا یه مشکل جدید پیدا کرده همونطور که در تصویر ضمیمه میبینی متن div کوچیکتر خیلی پایین اومده و از سطر بعد از div قبلی شروع شده. چرا اینطوری شد؟
hesamy2004
سه شنبه 16 فروردین 1390, 10:58 صبح
استفاده از پوزیشن خوب نیست و اصلا استاندارد نیست.
دوست چرا از <TABLE> <TR> <TD> استفاده نمی کنی ، باعث نظم و هماهنگی قالبتون می شه و به نظر من شما هم از جداول استفاده کنی بهتره.
جدول رو 100% در نظر بگیرید و  بقیه کار های لازم رو انجام بدید
ممنون از نظرت. راستش من چند وقتیه وارد دنیای طراحی سایت شدم. تو W3c نوشته بود برای طراحی صفحه از جدول استفاده نکنید و تا میتونید از div استفاده کنید. برای همین از این روش اومدم. اگه موفق نشدم همه چیز رو درست تنظیم کنم حتماً به این روش عمل میکنم.
بازم ممنون.
Spring_64
سه شنبه 16 فروردین 1390, 11:16 صبح
سلام div اول رو width=100% بذاريد و به جاي استفاده از margin براي دايو هاي داخلي width=25%,74%يا width=24%,75% قرار دهيد چون دايو ها در داخل هم قرار مي گيرند لازم است مجموعشان يك درصد كمتر از width در بر گيرنده شان باشد.:متفکر:
البته floatبراي دايو هاي داخلي فراموش نشود.
hesamy2004
سه شنبه 16 فروردین 1390, 12:40 عصر
سلام div اول رو width=100% بذاريد و به جاي استفاده از margin براي دايو هاي داخلي width=25%,74%يا width=24%,75% قرار دهيد چون دايو ها در داخل هم قرار مي گيرند لازم است مجموعشان يك درصد كمتر از width در بر گيرنده شان باشد.:متفکر:
البته floatبراي دايو هاي داخلي فراموش نشود.
ممنونم از لطفت. کد رو مثله زیر همونطور که اشاره کردی تغییر دادم:
#body_container{
	margin: 10px 160px;
	height: auto;
	width: 100%;
	clear: both;
	border: 1px solid #3F0;
}
div.body_contents{
	height: auto;
	width: 74%;
	float: left;
	border: 1px solid #960;
}
div.sidebar{
	height: auto;
	width: 25%;
	float: right;
	border: 1px solid #F0F;
}
هر سه div در قالب خودشون قرار گرفتن ولی مشکلی که پیش اومد این بود که الان div سمت راست از کادرم زده بیرون.
colors
سه شنبه 16 فروردین 1390, 12:57 عصر
خوب اینم هم نظر شخصیه دوستمونه 
ستفاده از پوزیشن خوب نیست و اصلا استاندارد نیست.
دوست چرا از <TABLE> <TR> <TD> استفاده نمی کنی ، باعث  نظم و هماهنگی قالبتون می شه و به نظر من شما هم از جداول استفاده کنی  بهتره.
جدول رو 100% در نظر بگیرید و  بقیه کار های لازم رو انجام بدید                         
دوست من استفاده از تیبل غیر استاندارد ترین نحوه کد نویسی برای صفحات متن گذاری شده یا همون HTML است . و استفاده از پوزیشن باعث قابلیت انعطاف پذیری دیوها میشه و این بهترین روش برای ساخت همچین قالبی است.
و برای حل مشکل کدهای، CSS رو به این شکل زیر تغییر بده
#body_container{
    height: auto;
    width: 99%;
    position:relative;
    border: 2px solid #3F0;
    position: absolute
}
 
div.body_contents{
    height: auto;
    width:25%;
    float: right;
    position:relative;
    border: 1px solid #960;
}
 
div.sidebar{
    height: auto;
    width: 74%;
    border: 1px solid #F0F;
    position:relative;
}
سوالی بود در خدمتم
alibabaei2
سه شنبه 16 فروردین 1390, 19:05 عصر
وقتی به دو دیو float می دهید پایین اون ها یک تگ <p> بگذارید و به این تگ کلاس زیر را دهید . ببینید این کارو بکنید درست میشه
.clear
{clear:both;
}
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.