Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Горизонтальный вертикальный колонтитул fixed/absolute
|
|||
|---|---|---|---|
|
#18+
Добрый день. Заготовка - http://jsfiddle.net/EC56J/ Задача - необходимо сделать так, чтобы горизонтальный и вертикальный колонтитулы ездили за скроллами окна. Количество строк и столбцов может различаться. К тому же количество таблиц тоже может меняться, но горизонтальный всегда одинаков, разный будет только вертикальный. Высота строк тоже может различаться после генерации страницы. Как сделал я. Клонировал горизонтальный колонтитул в новую таблицу, сделал ее position: absolute и привязал к скроллу. У вертикального почти тоже самое, только клонировал я текст внутри ячейки и также делал position: absolute и привязка в скроллу. Все работает, но тормозит (особенно в ие), да и мне как программисту глаз режет, хоть пользователь и доволен до пузырей. В арсенале имеется jQuery 1.7.1 и IE8. Хотелось бы чтобы работало быстрее, и сделано более красиво с точки зрения дизайна. Не тормозит position:fixed у горизонтального колонтитула, но он по скроллится по горизонтали. Можете что-нибудь посоветовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 16:02 |
|
||
|
Горизонтальный вертикальный колонтитул fixed/absolute
|
|||
|---|---|---|---|
|
#18+
GustlyЗаготовка - http://jsfiddle.net/EC56J/ Как сделал я. ... Так там ничего не "скролится"... Просто табличка и все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 16:49 |
|
||
|
Горизонтальный вертикальный колонтитул fixed/absolute
|
|||
|---|---|---|---|
|
#18+
krvsaGustlyЗаготовка - http://jsfiddle.net/EC56J/ Как сделал я. ... Так там ничего не "скролится"... Просто табличка и все. Я не стал полный вариант кидать, он большой. Но если это поможет могу сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 17:05 |
|
||
|
Горизонтальный вертикальный колонтитул fixed/absolute
|
|||
|---|---|---|---|
|
#18+
GustlyНо если это поможет могу сделать. Твоя проблема - тебе и решать... Причем у тебя странное, какое-то свое понятие слова "колонтитул"... :)) Вот несколько стандартных понятий http://slovari.yandex.ru/что такое колонтитул/Издательский словарь/Колонтитул/ http://ru.wikipedia.org/wiki/?????????? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 18:51 |
|
||
|
Горизонтальный вертикальный колонтитул fixed/absolute
|
|||
|---|---|---|---|
|
#18+
http://jsfiddle.net/EC56J/3/ Вот обновленный вариант. Вертикальная, пускай штука, ездит вправо за скроллом. Горизонтальная также должна себя вести и ездить вниз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 09:54 |
|
||
|
Горизонтальный вертикальный колонтитул fixed/absolute
|
|||
|---|---|---|---|
|
#18+
Gustly http://jsfiddle.net/EC56J/3/ Вот обновленный вариант. Иными словами, тебе нужна таблица с фиксированной шапкой и фиксированным первым столбцом... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 10:30 |
|
||
|
Горизонтальный вертикальный колонтитул fixed/absolute
|
|||
|---|---|---|---|
|
#18+
Gustly , может тут найдешь для себя ответ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 10:35 |
|
||
|
Горизонтальный вертикальный колонтитул fixed/absolute
|
|||
|---|---|---|---|
|
#18+
krvsa, Проблемы в том. Что горизонтальная шапка статична по вертикали, но должна ездить по горизонтали, у меня там месяцы с днями и может быть длинной. А вертикальная шапка статична по горизонтали, но должна ездить вверх вниз за скроллом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 11:07 |
|
||
|
Горизонтальный вертикальный колонтитул fixed/absolute
|
|||
|---|---|---|---|
|
#18+
Gustly, тоже заинтересовался этим вопросом. Вот работающий вариант, проверял в Мозилле, IE8-9, Хромом (правда в IE8-9 при прокрутке, немного дергается заголовок) Таблица. Фиксированный заголовок, столбец. Немного JavaScript. Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. Уверен, есть решение без JavaScript, на CSS для всех браузеров. Но никак не соображу :( html table fix header col column ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 11:18 |
|
||
|
Горизонтальный вертикальный колонтитул fixed/absolute
|
|||
|---|---|---|---|
|
#18+
user89Уверен, есть решение без JavaScript, на CSS для всех браузеров. Нету... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 13:21 |
|
||
|
Горизонтальный вертикальный колонтитул fixed/absolute
|
|||
|---|---|---|---|
|
#18+
user89, спасибо за скрипт, очень пригодился. Не подскажете, как добавить в него еще один элемент? Скажем, нужно чтобы снизу строка вела себя так же, как .FixCol, т.е. скроллилась вверх-вниз, но не скроллилась влево-враво. Я добавил элемент <div class="FixRow2"> </div> И попытался добавить его в скрипт, но безуспешно, т.к. с JS не знаком. Буду признателен, если поправите. <!DOCTYPE html> <html> <head> <style> table { border-collapse:collapse; table-layout:fixed; width:100%; } td{ padding:2px 3px; border-left:1px solid #c5c5c5; border-bottom:1px solid #c5c5c5; } td:first-child {border-left:0;} #DivTable1 { position:absolute; top:27px; left:30px; height:142px; width:550px; font-family:arial,sans-serif; font-size:9pt; border:1px solid #c5c5c5; overflow:scroll; } .TopLeftCell{ position:absolute; top:0; left:0; height:19px; width:99px; background:#f0f0f0; border-right:1px solid #c5c5c5; border-bottom:1px solid #c5c5c5; z-index:4; } .FixCol { position:absolute; top:20px; left:0; width:99px; background:#f0f0f0; border-right:1px solid #c5c5c5; z-index:3; } .FixRow { position:absolute; top:0; left:100px; height:19px; background:#f0f0f0; border-bottom:1px solid #c5c5c5; font-weight:700; z-index:3; } .FixRow td {border-bottom:0;} #DivTable1 .Content { position:absolute; left:100px; top:20px; right:0; z-index:2; } .FixRow2 { position:absolute; top:153px; left:0; width:99px; background:#f0f0f0; border-right:1px solid #c5c5c5; z-index:3; } </style> </head> <body> <div id="DivTable1"> <div class="TopLeftCell"></div> <div class="FixCol"> <table> <col width=100> <tr><td>1 строка</td></tr> <tr><td>2 строка</td></tr> <tr><td>3 строка</td></tr> <tr><td>4 строка</td></tr> <tr><td>5 строка</td></tr> <tr><td>6 строка</td></tr> <tr><td>7 строка</td></tr> </table> </div> <div class="FixRow"> <table> <col width=150> <col width=200> <col width=230> <tr><td>Воспоминания</td><td> о былой</td><td>любви.</td></tr> </table> </div> <div class="Content"> <table> <col width=150> <col width=200> <col width=230> <tr><td>Дремлет за горой</td><td>мрачный замок мой. Душу</td><td>мучает порой царящий в нем покой.</td></tr> <tr><td>Я своих фантазий</td><td>страждущий герой,</td><td>О любви моей былой все образы</td></tr> <tr><td>со мной. Я часто вижу</td><td>страх в смотрящих на меня</td><td>глазах. Им суждено уснуть в моих</td></tr> <tr><td>стенах, застыть в моих</td><td> мирах. Но сердце от любви</td><td>горит, моя душа болит. И восковых</td></tr> <tr><td>фигур прекрасен вид.</td><td>Покой везде царит. Я их</td><td>приводил в свой прекрасный дом.</td></tr> <tr><td>Их вином поил и</td><td>разлекались мы потом. Иногда</td><td> у них легкий был испуг от</td></tr> <tr><td>прикосновенья к</td><td>нежной шее крепких рук.</td><td></td></tr> </table> </div> <!-- Content --> <div class="FixRow2"> <table> <col width=150> <col width=200> <col width=230> <tr><td>Воспоминания</td><td> о былой</td><td>любви.</td></tr> </table> </div> </div> <!-- DivTable1 --> <script> var DivTable1 = document.getElementById('DivTable1'); DivTable1.onscroll = function() { var xx = DivTable1.pageXOffset || DivTable1.scrollLeft; var yy = DivTable1.pageYOffset || DivTable1.scrollTop; FixCol = DivTable1.children[1]; FixCol.style.left = xx + 'px'; FixRow2 = DivTable1.children[3]; FixRow2.style.left = xx + 'px'; FixRow = DivTable1.children[2]; FixRow.style.top = yy + 'px'; TopLeftCell = DivTable1.children[0]; TopLeftCell.style.top = yy + 'px'; TopLeftCell.style.left = xx + 'px'; } </script> </body> </html> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2017, 00:43 |
|
||
|
Горизонтальный вертикальный колонтитул fixed/absolute
|
|||
|---|---|---|---|
|
#18+
kryuger, я тут выложил более продвинутый вариант для фиксированных заголовков/столбцов 17822310 А если нужно просто зафиксировать заголовок/подвал, то можно обойтись и без JavaScript. Проверено в новой Опере, Мозилле, Хромом, IE11 Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2017, 13:07 |
|
||
|
Горизонтальный вертикальный колонтитул fixed/absolute
|
|||
|---|---|---|---|
|
#18+
user89А если нужно просто зафиксировать заголовок/подвал, то можно обойтись и без JavaScript. Вариант с тремя таблицами не особо интересен... Там за размерами колонок самому нужно следить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2017, 13:18 |
|
||
|
Горизонтальный вертикальный колонтитул fixed/absolute
|
|||
|---|---|---|---|
|
#18+
krvsa, Зато без JS. Вариант жизнеспособный. Только в шапке и подвале надо делать лишнюю ячейку шириной в скролл, чтобы скролл на данные не наезжал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2017, 13:23 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=38603941&tid=1444816]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
74ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 292ms |
| total: | 454ms |

| 0 / 0 |
