ورود

View Full Version : سوال: کد یک div در وسط صفحه



delphi77
شنبه 12 بهمن 1387, 08:01 صبح
چطور یک div را در وسط صفحه نمایش بدم

مثلا اگر کاربر اسکرول بزنه و بره پایین صفحه من را ببینه و من بخواهم div را براش نمایش بدم نمی دانم که چطور هم از بالا وهم از چپ بندازمش وسط

ببیند من دایوم را فعلا اینطوری دارم

style.position = absolute
style.zIndex = 1000
style.top = 3px
style.left = 3px

ولی این خوب نیست چون دایو را بالا و سمت چپ نشان می ده ولی من می خواهم center screen window نشان بدم

sedamorde
شنبه 12 بهمن 1387, 17:33 عصر
دوست عزیز اینطور که من فهمید میخوای div وسط صفحه باشه! برای اینکار میتونی از این استفاده کنی:
margin:auto
با کمی دردسر بیشتر با float هم میشه.

delphi77
یک شنبه 13 بهمن 1387, 08:09 صبح
ببینید من یک دایو دارم که وقتی آژاکسم شروع به کار می کنه آن را نمایش می دهم

حالا می خواهم آن را وسط صفحه نشان بدم که کاربر هر جای صفحه که هست آن را ببینه

الان دارم آن از سه پیکسل بالا و سه پیکسل چپ نشان می دهم که اگر کاربر مثلا پایین صفحه باشه و کاری بکنه که آژاکس فعال بشه آن پیغام 'در حال بارگذاری...' را نمی بینه!

sedamorde
یک شنبه 13 بهمن 1387, 11:23 صبح
فکر میکنم این کار رو باید با java انجام بدی نه css!

emad_67
یک شنبه 13 بهمن 1387, 15:38 عصر
شما توی جایی که ajax ات فعال میشه موقعیت اون div رو هم ست کن، یعنی مثلا بیاد بالا و گوشه سمت چپ.
یه چیزی مثل وب گذر. این مثال رو ببین:


<!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>eeeee</title>
<script type="text/javascript">
function setposition()
{
var test=document.getElementById("test");
if(document.all)
{
test.style.top=document.documentElement.scrollTop+ 'px';
}
else
{
test.style.top=window.scrollY+'px';
}
}
</script>
<style type="text/css">
.test
{
border: 1px solid #000;
width: 100px;
height: 100px;
position: absolute;
top: 10px;
left: 10px;
}
</style>
</head>

<body>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<div id="test" class="test">test<br />
</div>
<input type="button" onclick="setposition();" value="click"/>
</body>

</html>

هر جوری خواستی بهدا میتونی ادیتش کنی.

delphi77
سه شنبه 15 بهمن 1387, 15:06 عصر
فکر میکنم این کار رو باید با java انجام بدی نه css!

منظورت جاواسکریپته

sedamorde
سه شنبه 15 بهمن 1387, 22:19 عصر
بله دوست عزیز , البته فکر میکنم

AMIBCT
سه شنبه 15 بهمن 1387, 22:53 عصر
برای استفاده از قابلیت‌های CSS باید از یه سلول جدول استفاده کنید
تنها عنصری که قابلیت مرکز بودن از هر دو سمت رو داره و در تمام مرورگرها بدون مشکل به نمایش در میاد
td هست

امید امرایی
چهارشنبه 16 بهمن 1387, 09:18 صبح
چطور یک div را در وسط صفحه نمایش بدم

مثلا اگر کاربر اسکرول بزنه و بره پایین صفحه من را ببینه و من بخواهم div را براش نمایش بدم نمی دانم که چطور هم از بالا وهم از چپ بندازمش وسط

ببیند من دایوم را فعلا اینطوری دارم

style.position = absolute
style.zIndex = 1000
style.top = 3px
style.left = 3px

ولی این خوب نیست چون دایو را بالا و سمت چپ نشان می ده ولی من می خواهم center screen window نشان بدم

این موضوع بار ها بحث شده .
اگه دنبال این هستید که همه جا جواب بده :
1- برای مرورگرهای Mozilla Base تنها کافیه position رو به fixed تغییر بدید.
2- اما در مورد مرورگرهای مثل IE باید از جاوا اسکریپت استفاده کنید . هر چند که این امکان با استفاده از expression ها در CSS هم وجود داره ولی بنده توصیه نمی کنم.