PDA

View Full Version : سوال: ابهام در خاصیت clear !



davood59
شنبه 11 شهریور 1391, 20:22 عصر
سلام دوستان عزیز؛
شبتون بخیر و خوشی؛
دوستان برام علیرغم اینکه مطالعه هم کردم ولی تو خاصیت clear چند تا ابهام برام پیش اومده؛
ببینید اینجور که من فهمیدم از این خاصیت یعنی اینکه اطراف یک شی (یا همون تگ باصطلاح) رو با این دستور می تونیم خالی بذاریم.
ببنید یعنی اگه من می نویسم clear:right یعنی اینکه دیگه چیزی در طرف راست اشیاء مورد نظر من قرار نگیره. و یا اگه Left خب طبیعتا برعکس این قضیه!
حالا آیا در شیئی که میخوایم خاصیت clear بذاریم نباید خاصیت float داشته باشه؟؟ آخه دیدم یه جا که مطلب آموزشی داشت اینجوری نوشته بود:

اگر المانی که بعد ازالمان float شده میاد، خاصیت clear داشته باشد، دیگه اطراف المان فلوت شده را فرا نمی گیرد.

منبع : http://www.macromediax.com/learn/archive.asp?id=209
طبق این نوشته یعنی نباید شیئ ما که قرار clear داشته باشه ، دارای خاصیت float باشه؟
یا در اینجا:

المانی که خاصیت clear=both دارد و float نیز شده است، فقط المان هایی را که قبل از خودش آمده است، clear میکند . نه المان های بعدی را
المان های قبلی منظورش چیه؟ البته خودم یک مثال برای خودم ایجاد کردم و سعی کردم طبق همون مطلب رو بفهمم که البته یکم فهمیدم ولی ممنون میشم اگه شما توضیح مبسوط تر و یا مثال بهتری در این زمینه بهم بدید.
اینهم مثال:

<style type="text/css">
*
{
margin:0;
padding:0;
}

div.right
{
border:1px solid #ff9900;
width:150px;
float:right;
}

div.left
{
border:1px solid #ff9900;
width:150px;
float:left;
}

p
{
color:red;
clear:right;
}

</style>


Html code:

<div class="right">The div has right float set</div>
<div class="left">The div has left float set</div>
<p>this is this is this is this is this is this is this is this is this is this is this is this is this is this is this is this is this is this is this is </p>




ممنونم.

Saber Mogaddas
دوشنبه 13 شهریور 1391, 20:49 عصر
سلام
دوست عزیز همانطور که می دونیم بعضی ار دستورات css رو با ترکیب کردن می تونیم کارهای خاصی انجام بدیم دستور clear نیز از این نوع دستورات هست که باید در شرایط خاص استفاده شه.شما برای این دستور خنثی کردن float در نظر بگیرید.برای مثال ما تو یک طرحی یک دیو اصلی داریم با عرض ثابت و ارتفاع متغییر و دو دیو با کلاس یکسان ( استایل یکسان) داریم که با دستور float در کنار هم قرار دارند ما میخواهیم دیو دوم در پایین دیو قرار بگیره یا یک کلاس دیگه به دیو دوم میدیم و یا کلاس دیو دوم رو تغییر می دیم و با یک select تو در تو در css برای دیو دوم دستور clear:right میدیم و نتیجه حاصل میشه، اگه کمی حرفه ای با slect های css و رابطه پدر فرزندی کار کنیم نیاز به این نوع دستورات احساس خواهد شد و نمی توان با سمت چپ المان و و .. کاربرد این دستور رو تعریف کنیم و فقط با کار عملی و پیش آمدن موقعیت برای این دستور می تونیم تعریف مناسبی برای خودمان داشته باشیم..
موفق باشید..