<div id="someid">some text here</div>
CSS ...
#someid{position: fixed; width: 500px; height: 30px;}
Я хочу позиціонувати абсолютно в центрі по горизонталі та по вертикалі в вікно?
Відповіді:
0 для відповіді № 1#someid{
position:
fixed;
width: 500px;
height: 30px;
right:50%;
margin-right:-250px;
}
Негативний запас полягає в тому, щоб виправити зсув, який виникає, коли браузер вважатиме правою частиною права на дві частини 50% праворуч від вікна веб-переглядача.
Щоб сконцентрувати його вертикально, ви можете спробувати одне і те ж (тут немає гарантій, хоча я раніше цього не робив) з його вертикальним положенням.
Наприклад:
top:50%;
margin-top:-15px;
Редагувати Трохи більш глибоке пояснення: Коли #someid розміщується на 50% з правого боку, він розміщується так, щоб він становив 50% від загальної ширини батьківського кола від правої межі батьківського права. Однак це не вимірює від центру #someid до правої межі його батьківського елемента, він вимірює з правого боку #someid на правій стороні його батьківського елемента.Це, звичайно, не є центром # Деякі, він все ще компенсується на половину її ширини.
Саме тому ми використовуємо негативну маржу, щоб компенсувати її. Негативний запас повинен бути наполовину шириною #, щоб компенсувати зміщення ліворуч, яке відбувається, коли ми розміщуємо його правою стороною 50% з правого боку його батьківського елемента.
0 для відповіді № 2
Поки ваша позиція fixed
ви не можете розташувати div відносно. Ви повинні обчислити верхні та ліва значення за допомогою javascript. Ви можете зосередити свою позицію по горизонталі, написавши це:
width: #SOMEWIDTH#px;
margin: 0 auto;
Для того, щоб зробити маргінальне положення, розділ div у центрі повинен бути встановлений атрибут width. Автоматичний маркірування не впливає на вертикальну пошту.