ورود

View Full Version : سوال: استفاده از min-height



dr_csharp
شنبه 04 آبان 1387, 10:16 صبح
سلام
من تو طراحیم به DIV هام min-height دادم .. تو IE8 جواب میده ولی رو IE6 اصلا انگار نه انگار واسه height یه min مقدار در نظر گرفتی !؟
چه راهکاری پیشنهاد میکنید ؟

Behrouz_Rad
شنبه 04 آبان 1387, 22:07 عصر
IE 6.0 از min-height پشتیبانی نمی کنه.
راهکارش با توجه به ساختار کدهات مشخص میشه. اصلاً شاید بتونی بهش نیاز نداشته باشی!

dr_csharp
یک شنبه 05 آبان 1387, 09:05 صبح
من جایی خوندم باید بدین صورت عمل کنیم :


height:auto;
min-height: x px;
height:x px;

dr_csharp
یک شنبه 12 آبان 1387, 08:23 صبح
دوستان چه راهکاری پیشنهاد میکنید ؟!
یعنی تا به حال با ELement هایی که از نظر Height دینامیک باشن مواجه نشدین ؟

emad_67
یک شنبه 12 آبان 1387, 10:49 صبح
سلام
به این شکل بنویس حل میشه مشکلت:


<style type="text/css">
.d1
{
min-height: 20px;
height: auto !important;
height: 20px;
border: 1px solid #000;
}
</style>
</head>

<body >
<div class="d1"></div>
</body>
فرض کن میخوایم min-height رو 20px در نظر بگیریم. در ابتدا توی کلاس تعریف شده همین min-height رو قرار میدیم تا ie7 و ff ازش استفاده کنن. برای ie6 که این خاصیت رو نمیشناسه باید از height استفاده کنیم، یعنی ارتفاع رو 20px قرار میدیم. تا اینجا با اضافه کردن height باعث شدیم که توی ie7 و ff ارتفاع از 20 پیکسل بالاتر نره یعنی از حالت auto درمیاد(ولی ie6 ارتفاع تگ مورد نظر رو بر اساس محتوای درونش تنظیم میکنه و توجهی به height نداره). خوب برای اینکه این مشکل رو حل کنیم میایم این خط رو اضافه میکنیم:


height: auto !important;
کلمه important رو ie7 و ff تشخیص میدن و اگر جلوی هر خاصیتی قرار بگیره باعث میشه اون خاصیت نسبت به خاصیت همنام خودش ارجعیت پیدا کنه. بنابراین با اضافه کردن این کلمه ie7 و ff حالت auto رو به جای 20px برای ارتفاع در نظر میگرن ولی ie6 چون important رو نمیشناسه همچنان height: 20px رو در نظر میگیره.

dr_csharp
یک شنبه 12 آبان 1387, 13:38 عصر
آیا IE6 حالت height:auto رو میشناسه و در صورت بروز شرایط ارتفاع رو افزایش میده ؟

emad_67
یک شنبه 12 آبان 1387, 13:46 عصر
ie6 در همه حالت یه div رو auto در نظر میگیره، چه شما براش height تعیین کنی و یا نکنی اون باز auto در نظر میگیره. فقط تعریف height باعث میشه که ارتفاع اولیه داشته باشه و بعد از اینکه محتوای اون بیشتر از ارتفاع تعیین شده بشه خودش ارتفاع رو زیاد میکنه. یه جورای height برای ie6 مثل min-height در ff و ie7 عمل میکنه.

امید امرایی
یک شنبه 12 آبان 1387, 20:45 عصر
بنده متوجه نمی شم شما چرا می خواید از min-height استفاده کنید. ظاهرا با توصیفی که شما از منظورتون دارید اصلا نیازی نیست. همونطور که emad_67 (http://barnamenevis.org/forum/member.php?u=35031) عزیز گفتن در مرورگر IE 6 خود خصیصه height عملکردی مثل heigth داره.

در مورد مورد Element هایی با ارتفاع داینامیک معمولا این مشکل برای ارتفاع بیش از حد (max-height) اهمیت پیدا می کنه .

موتور IE و FF به صورت پیش فرض زمانی که شما Element رو به حالت float قرار نداده باشید ارتفاع رو به عنوان حداقل ارتفاع هم ملزوم می کنن و اصلا مشکلی وجود نداره.

اگر هم چنان مشکلتون پا برجاست تکه کدی که حاوی این اشکال هست رو قرار بدید. در خدمتتون هستیم

emad_67
یک شنبه 12 آبان 1387, 22:32 عصر
موتور IE و FF به صورت پیش فرض زمانی که شما Element رو به حالت float قرار نداده باشید ارتفاع رو به عنوان حداقل ارتفاع هم ملزوم می کنن و اصلا مشکلی وجود نداره.
سلام
در ie6 فقط height مثل min-height عمل میکنه و در ie7 و ff با دادن height دیگه ارتفاع اون عنصر تغییر نمیکنه و ثابت میمونه. در حالی که min-height فقط ارتفاع اولیه میده و با افزایش محتوای اون عنصر ارتفاع اتوماتیک زیاد میشه.

moindev65
دوشنبه 14 آذر 1390, 19:39 عصر
سلام دوست عزیز این لینک مفیدی بو کاملا با مثال توضیح داده

http://www.electrictoolbox.com/using-important-css