Jump to content
  • 0

Центрирование на экране фиксированного элемента


MageMerlin
 Share

Question

Есть див с заранее известными шириной и высотой. Подскажите, как его отцентрировать на экране по вертикали и горизонтали на любом разрешении монитора? Насчет вертикальной центрации - можно забить в принципе, но очень хочется, а горизонтальная критически необходима. Браузеры все.

Слой имеет position:absolute;

Edited by MageMerlin
Link to comment
Share on other sites

13 answers to this question

Recommended Posts

  • 0
Есть див с заранее известными шириной и высотой. Подскажите, как его отцентрировать на экране по вертикали и горизонтали на любом разрешении монитора? Насчет вертикальной центрации - можно забить в принципе, но очень хочется, а горизонтальная критически необходима. Браузеры все.

Слой имеет position:absolute;

JavaScript в помощь.

Link to comment
Share on other sites

  • 0
Есть див с заранее известными шириной и высотой. Подскажите, как его отцентрировать на экране по вертикали и горизонтали на любом разрешении монитора? Насчет вертикальной центрации - можно забить в принципе, но очень хочется, а горизонтальная критически необходима. Браузеры все.

Слой имеет position:absolute;

попробуй этот див заключить в тег center

Link to comment
Share on other sites

  • 0

Не понял, при чём тут JS? :unsure:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Centr</title>
<style type="text/css">
*{ margin: 0; padding: 0;}
div.wrap {
width: 510px;
height: 306px;
position: absolute;
top: 50%;
left: 50%;
margin-top: -153px;
margin-left: -255px;

border: 1px solid #000;

}
div.center {
width: 100px;
height: 100%;
position: absolute;
left: 205px;
top: 0;

}
span {
display: block;
width: 98px;
height: 99px;
border: 1px solid #808080;
}
span.right { position: absolute; right: 0; top: 105px;}
span.left { position: absolute; left: 0; top: 105px;}
</style>
</head>

<body>
<div class="wrap">
<div class="center">
<span class="top"></span>
<span class="cent"></span>
<span class="bottom"></span>
</div>
<span class="right"></span>
<span class="left"></span>
</div>
</body>
</html>

Link to comment
Share on other sites

  • 0

Дык ведь можно и без абсолюта обойтись, автор сказал что ему начхать на выравнивание по вертикали, а по горизонтали будет: margin:0 auto; - но это без абсолютного позиционирования, если с ним, то не получится конеш.

Link to comment
Share on other sites

  • 0
так и должно быть, абсолютный элемент беспрокруточно прячется налево и наверх. Как относительное решение - мин-видт.

Прошу прощения за настойчивость. Никак не могу разобраться.

Нельзя ли по подробнее, где нужно написать "мин-видт", чтобы этот блок никогда не прятался.

Сделал так.

#content

{

font-family: Verdana, Geneva, Arial, sans-serif;

background-color: #f00;

margin-left: -150px;

position: absolute;

top: -35px;

left: 50%;

width: 300px;

min-width: 300px;

height: 70px;

min-height: 70px;

visibility: visible

}

Ничего не изменилось.

Link to comment
Share on other sites

  • 0
Прошу прощения за настойчивость. Никак не могу разобраться.

Нельзя ли по подробнее, где нужно написать "мин-видт", чтобы этот блок никогда не прятался.

Сделал так.

#content

{

font-family: Verdana, Geneva, Arial, sans-serif;

background-color: #f00;

margin-left: -150px;

position: absolute;

top: -35px;

left: 50%;

width: 300px;

min-width: 300px;

height: 70px;

min-height: 70px;

visibility: visible

}

Ничего не изменилось.

Напиши у боди

Link to comment
Share on other sites

  • 0
Прошу прощения за настойчивость. Никак не могу разобраться.

Нельзя ли по подробнее, где нужно написать "мин-видт", чтобы этот блок никогда не прятался.

Сделал так.

#content

{

font-family: Verdana, Geneva, Arial, sans-serif;

background-color: #f00;

margin-left: -150px;

position: absolute;

top: -35px;

left: 50%;

width: 300px;

min-width: 300px;

height: 70px;

min-height: 70px;

visibility: visible

}

Ничего не изменилось.

Мин-видт надо повесть на обрамляющй #content элемент, ну или, даже наверное более правильно, прям на body. Но наверх все равно прятаться будет, хотя играются высотой мало людей, пользователь не обнаружит, что блок спрятан, если это не произойдет сразу же при открытии. если надо чтоб наверз не прятался, попродуйте поиграться верхним маргином или паддингом у одного из обрамляющих блоков. Вобщем, опыт сын эксперимента =)

Link to comment
Share on other sites

  • 0
Мин-видт надо повесть на обрамляющй #content элемент, ну или, даже наверное более правильно, прям на body. Но наверх все равно прятаться будет, хотя играются высотой мало людей, пользователь не обнаружит, что блок спрятан, если это не произойдет сразу же при открытии. если надо чтоб наверз не прятался, попродуйте поиграться верхним маргином или паддингом у одного из обрамляющих блоков. Вобщем, опыт сын эксперимента =)

Огромное спасибо за ответы!

Напиши у боди

Спасибо!

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