2015-03-11 3 views
-1

У меня есть div. Я хочу, когда пользователь прокручивает страницу по вертикали, этот div следует за движением и остается в центре экрана.Div следует по вертикальной прокрутке

Есть ли какая-нибудь команда css для этого или что-то еще?

+1

Вы просто ищете 'position: fixed'? – CBroe

+1

вы должны точно описать **, что вам нужно, и я имею в виду ** точно **, потому что это может иметь так много разных сценариев. – vsync

+0

Я хочу, чтобы div следовал по вертикальной прокрутке, но не по горизонтали. – xarlap

ответ

1

Вы можете поместить его с помощью position:fixed;

Учитывая DIV шириной 400px и высотой 400px:

div#center 
{ 
    position: fixed; 
    top: 50%; /*move top-left corner to center*/ 
    left: 50%; 

    margin-left: -200px; /* (-1) * (width/2), move left by 1/2 of the width*/ 
    margin-top: -200px; /* (-1) * (height/2), move up by 1/2 of the height*/ 

    width: 400px; 
    height: 400px; 
} 
+0

Однако, если я поставил положение: фиксированный div также следует за горизонтальной прокруткой. Я хочу сделать это только для вертикального прокрутки. – xarlap

+0

@xarlap Я не могу думать о чисто CSS-способе сделать это. Вам понадобится javascript. – David

1

Похоже position: fixed; будет работать, если я правильно понимаю ваш вопрос.

HTML

<div></div> 

CSS

div { 
     position: fixed; top:50%; left:50%; 
     height: 200px; width: 200px; 
     margin-top: -100px; margin-left: -100px; 
    } 

Вот ссылка на работу Codepen из рабочего примера: CODEPEN LINK

Как я отправляю это кажется, что @ MathNerdProductions дал довольно похожий ответ, возьмите свой выбор на самом деле. Они оба делают то же самое, вы должны отвечать им ответом, как они отвечали в первую очередь.

Смежные вопросы