واضح آرشیو وب فارسی:سایت ریسک: جلوگیری از نمایش اسکرول بار در حالتی که یک المنت خارج از محدوده مرورگر قرار میگیرد neopersia 19 اسفند 1388, 00:45سلام این کد رو ببینید: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""> <html xmlns=""> <head> <meta "Content-Type" content="text/html; charset=UTF-8" /> <title>Title</title> <style type="text/css"> body { background-color:#171717; direction:rtl; font:12px/140% Tahoma; } #history { position: absolute; top:0; left:-150px; background-color: #fff; border: 1px #333 solid; } #history .container {padding:15px;white-space: nowrap;} #history ul,#history li{padding:0;margin:0;} #history ul{padding-right:15px;} </style> </head> <body> <div id="history"> <div class="container"> <ul> <li><a href="#">متن لینک متن لینک</a></li> <li><a href="#">متن لینک متن لینک</a></li> <li><a href="#">متن لینک متن لینک</a></li> <li><a href="#">متن لینک متن لینک</a></li> <li><a href="#">متن لینک متن لینک</a></li> <li><a href="#">متن لینک متن لینک</a></li> <li><a href="#">متن لینک متن لینک</a></li> </ul> </div> </div> </body> </html> من همین حالت رو لازم دارم بدون اینکه اسکرول بار افقی نمایش داده بشه. میدونم شدنی هست اما هر چی تست کردم به نتیجه نرسید کلاً میخوام که DIV#history رو خارج از محدوده دید قرار بدم و با یک سری رویداد خاص اینو حرکتش بدم به سمت چپ تا بیاد تو صفحه. همه چیزش درست کار میکنه فقط همین اسکرول بار پایین صفحه اضافیه! در ضمن DIV#history عرض مشخصی هم نداره یعنی عرضش بسته به طول لینکهای داخل اون تغییر میکنه کسی میتونه راه حلی پیشنهاد بده؟ neopersia 19 اسفند 1388, 03:32مثل اینکه اگه DIV#history به جای چپ سمت راست باشه از شر اون اسکرول بار خلاص میشم. نمیخواستم بره راست چون منوی سایت اون طرف هست و کشیده میشه روی منو ولی ظاهراً چاره ای نیست. به این نتیجه رسیدم که امکانش نیست که توی صفحه راست به چپ کاری رو که من میخوام انجام داد، ولی امیدوارم نتیجه گیریم اشتباه باشه و یه راهی داشته باشه :green: pouya saadeghi 19 اسفند 1388, 09:47برای اینجور کار ها معمولا از position:absolute استفاده میشه. silverboy65 19 اسفند 1388, 10:22کلا باید جاوا اسکریپتش کنی ولی اگه می خوای معلوم نباشه می تونی از قابلیت هایی مثل Z-INdEX استفاده کنی neopersia 19 اسفند 1388, 17:01برای اینجور کار ها معمولا از position:absolute استفاده میشه. مگه بدون position: absolute هم میشه؟! شما کد منو خوندید؟ #history { position: absolute; top:0; left:-150px; background-color: #fff; border: 1px #333 solid; } کلا باید جاوا اسکریپتش کنی ولی اگه می خوای معلوم نباشه می تونی از قابلیت هایی مثل Z-INdEX استفاده کنی ممنون اما جاوا اسکرپت هست من مشکلی با جاوا اسکرپتش ندارم فقط کد قسمت مشکل ساز رو برای این تاپیک نوشتم اون اسکرول بار پایین صفحه رو میخواستم حذف کنم. اگر جاوا اسکرپت نبود که با display:none و display:block مثل آب خوردن حل میشد! این بلوک هیستوری باید از خارج صفحه انیمیشن بشه بیاد تو. حتی اگر عرضش هم ثابت بود میتونستم به جای left از width برای انیمیشن استفاده کنم ولی عرض ثابت هم نداره. z-index رو هم توی کد اصلی دارم ولی اون ترتیب نمایش لایه ها رو مشخص میکنه و فکر نمیکنم ربطی به مشکل داشته باشه البته در هر صورت با وجود اون هم مشکل سر جاش باقیه pouya saadeghi 19 اسفند 1388, 20:50عذر میخوام --------------------------------- مشکل از direction:rtl است. در IE و Firefox مشکل داره که اگه direction:ltr باشه مشکل حل میشه neopersia 19 اسفند 1388, 21:08عذر میخوام --------------------------------- مشکل از direction:rtl است. در IE و Firefox مشکل داره که اگه direction:ltr باشه مشکل حل میشه درسته اینو دیشب متوجه شدم چون دیدم کد رو وقتی تو صفحه چپ به راست مینویسم درست میشه اون بلوک رو بردم سمت راست درست شد فکر کنم اگه بادی رو چپ به سایت کنم DIV#history رو خارج از wrapper بزارم بعد wrapper رو راست به چپ کنم درست بشه همونی که میخوام :) البته احتمالاً به قیمت جابجه شدن جای اسکرول بار عمودی توی IE تموم میشه ولی اون دیگه مشکل کسانی هست که IE استفاده میکنن :green:
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 535]