Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: начало показа страницы с отступом
Форумы портала PHP.SU » Клиентская разработка » HTML, Дизайн & CSS » начало показа страницы с отступом

Страниц (2): [1] 2 »
 

1. RuslanBLR - 24 Января, 2012 - 10:44:00 - перейти к сообщению
Привет всем! подскажите как реализовать:
нужно чтобы страница выводилось не с самого верха а например 10% от верха, т.е. начало показа страницы с отступом например в 300 пикселей от верха. Помогите как это сделать?
2. Zuldek - 24 Января, 2012 - 11:02:06 - перейти к сообщению
CODE (htmlphp):
скопировать код в буфер обмена
  1. ...
  2. <script language="JavaScript">
  3. <!--
  4. function Click() {
  5. document.getElementById('mark').scrollIntoView(true);
  6. }
  7. ;
  8. //-->
  9. </script>
  10. ...
  11. <body onload="Click()">
  12. ...
  13. <div style="position:absolute; width:1px; height:1px; z-index:-9999; margin:300px 0 0 0;" id="mark"></div>
3. illy - 24 Января, 2012 - 11:14:32 - перейти к сообщению
CODE (html):
скопировать код в буфер обмена
  1. <style>body {margin-top:10%}</style>
4. Zuldek - 24 Января, 2012 - 11:20:36 - перейти к сообщению
illy пишет:
CODE (html):
скопировать код в буфер обмена
  1. <style>body {margin-top:10%}</style>


обычно такой отступ требуется для привязки к определенному элементу страницы, чаще всего к тексту. Просто стилями его лучше не задавать потому что из-за изменения размера окна, доступных шрифтах, браузера и т.п. отступ заданный в стиле может быть больше или меньше необходимого. Потому лучше через js с привязкой к элементу на странице.
5. RuslanBLR - 24 Января, 2012 - 11:36:45 - перейти к сообщению
Zuldek

это не подходит - при первом случаи разрывает весь макет, а при 2 делает просто отступ от браузера.

Мне нужно что бы страницу выводило с определенного div? как это сделать?
6. armancho7777777 - 24 Января, 2012 - 11:37:50 - перейти к сообщению
RuslanBLR, у Вас jQuery подключен?

Zuldek пишет:
<style>body {margin-top:10%}</style>

Это уродство.
Ему же положение скролла надо увеличить на 10% от 0.
7. RuslanBLR - 24 Января, 2012 - 11:46:51 - перейти к сообщению
armancho7777777

на этой странице нет
8. armancho7777777 - 24 Января, 2012 - 12:09:09 - перейти к сообщению
RuslanBLR пишет:
на этой странице нет

А что тогда Вам надо-то?
Что это тогда???
RuslanBLR пишет:
нужно чтобы страница выводилось не с самого верха а например 10% от верха, т.е. начало показа страницы с отступом например в 300 пикселей от верха
9. RuslanBLR - 24 Января, 2012 - 12:10:56 - перейти к сообщению
armancho7777777

извините не правильно понял. Вы все правильно сказали : увеличить положение скрола на 10%. Как это сделать?
10. Zuldek - 24 Января, 2012 - 12:36:55 - перейти к сообщению
RuslanBLR пишет:

это не подходит - при первом случаи разрывает весь макет, а при 2 делает просто отступ от браузера.

Мне нужно что бы страницу выводило с определенного div? как это сделать?


Вы сами понимаете чего хотите?

1. Чтобы страницу браузер прокрутил до определенной точки верхняя точка отображаемая в браузере будет в самом верху окна браузера. Я вам показал как это сделать - страница будет прокручено до div или любого другого элемента с меткой.

2. Чтобы браузер вообще ничего не выводил выше вашей точки. Тут можно просто не отдавать клиенту html до вашей точки вот и все. Если вы клиенту его отдадите и скроете js это будет бред и контент всеравно он может увидеть.

Что вам требуется. Если прокрутить скролл - то решение выше.
Пример реализации - sarcpt.ru вторая кнопка меню, пощелкать по пунктам.
11. RuslanBLR - 24 Января, 2012 - 12:47:00 - перейти к сообщению
Zuldek

как только ставлю style="position:absolute;" то у меня весь макет сбивается влево а так все работает
12. Zuldek - 24 Января, 2012 - 12:53:28 - перейти к сообщению
RuslanBLR пишет:
Zuldek

как только ставлю style="position:absolute;" то у меня весь макет сбивается влево а так все работает


если элемент нужен только для марки отступа то лучше не использовать div, это нехорошо.
Если нужен именно div, то поправьте

CODE (htmlphp):
скопировать код в буфер обмена
  1. <div style="position:relative; z-index: -9999;"><div style="position:absolute; width:1px; height:1px; z-index:-999; margin:300px 0 0 0;" id="mark"></div></div>


лучше все это выводить сразу после <body>.
13. RuslanBLR - 24 Января, 2012 - 12:57:05 - перейти к сообщению
Zuldek
если не обязательно div то как тогда?
14. Zuldek - 24 Января, 2012 - 13:04:02 - перейти к сообщению
RuslanBLR пишет:
Zuldek
если не обязательно div то как тогда?

любой тег. Можно и свой создать: если html5 то хоть <mark>. в js указываем скрол до него, а в css опишите стиль отображения или неотображения. div тэг разметки документа и его для одной цели метки использовать нехорошо.
15. RuslanBLR - 24 Января, 2012 - 13:05:33 - перейти к сообщению
Zuldek

ставлю сразу после body - не смещает! почему?

простите поправка:

получается когда переходу на эту страницу - то не смещает, начинаю листатать скролинг вниз - обнавляю страницу - тогда переводит на установленный div

 

Powered by ExBB FM 1.0 RC1