/ / Як вирівняти горизонтально та вертикально фіксовану позицію div? - html, css

Як вирівняти по горизонталі та вертикалі фіксовану позицію div? - html, css

<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. Автоматичний маркірування не впливає на вертикальну пошту.