Jump to content
  • 0

Чтобы div с динамической шириной выравнивался по центру и оставался по центру если он шире окна браузера.


Squidward
 Share

Question

Нужно, чтобы div с динамической шириной выравнивался по центру окна и оставался по центру, если он оказывается шире окна браузера, и чтобы появлялись полосы прокрутки. По центру у меня получается выровнять, но когда окно браузера становится меньше дива, он прижимается к левой стороне окна.

Link to comment
Share on other sites

12 answers to this question

Recommended Posts

  • 0

Если честно, это дурдом чистой воды.

Вот нормальный вариант.

#inside { text-align: center;}
#dinamic { display: inline-block; text-align: left;}

Если это не то, нарисуйте как вам надо.

Edited by Gaspode
Link to comment
Share on other sites

  • 0

Если честно, это дурдом чистой воды.

Вот нормальный вариант.

#inside { text-align: center;}
#dinamic { display: inline-block; text-align: left;}

Если это не то, нарисуйте как вам надо.

И точно так же он у вас не станет заходить за левый край, а прижмется к нему.

Link to comment
Share on other sites

  • 0

Да как тут нарисуешь... К примеру, имеем див с шириной 1200 (это в данный момент, ширина ведь динамическая), выровненный как вы говорили при помощи text-aling. Если разрешение экрана 1600, он останется по центру окна браузера. А если разрешение 1024, то есть меньше ширины дива, то он прилепится к левому краю окна, а его правая сторона вывалится за правую границу окна. А надо, чтобы он остался по центру, а его края равномерно ушли за границы окна браузера.

Edited by Squidward
Link to comment
Share on other sites

  • 0

но когда окно браузера становится меньше дива, он прижимается к левой стороне окна.

Див всегда будет прижиматься к левой стороне окна браузера - это стандартное поведение для всех браузеров. Даже если вы выровняете этот див при помощи position:absolute, то он просто будет обрезаться с левой стороны.

Link to comment
Share on other sites

  • 0

Частично заработал такой способ:


<div id="inside">
<div id="dinamic">блок с динамической шириной </div>
</div>


#inside { width:2000px; position:absolute; left:50%; margin-left:-1000px; text-align:center; overflow:hidden; }
#dinamic { display: inline-block; }

То есть мы заранее задали оборачивающему диву ширину, большую окна браузера. В этом случае #dinamic выравнивается как надо. Но есть одна значительная проблема - оборачивающий див создает небольшой скроллинг справа. И чем меньше разрешение монитора, тем этот скроллинг больше.

Да, забыл, и для ишака6-7 указываем


_overflow:hidden;
*zoom:1;
*display:inline;

А то он inline-block неправильно понимает и не центрирует.

Edited by Squidward
Link to comment
Share on other sites

  • 0

А так не пойдёт? http://jsfiddle.net/jqNHm/

А так то, что скрыто за скроллингом справа (если он есть), просто обрезается и при прокрутке мы видим, что кусок дива обрезан =)

Edited by Squidward
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy