| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Вёрстка веб-сайтов > Проблема кроссбраузерности... |
| Автор: Iktash 1.8.2008, 18:09 | ||||
Сильно не ругайте - я совсем начинающий верстальщик. Решил для примера сделать такую вещь:![]() В опере получилось сностно (скрин из Оперы). А вот в ИЕ элемент Н5 уплыл далеко вверх и вправо. Как можно это поправить? Код HTML:
Код CSS:
|
| Автор: bars80080 1.8.2008, 18:13 | ||
|
| Автор: Iktash 1.8.2008, 18:30 |
| bars80080, уже лучше, но все равно неправильно позиционируется (теперь Н5 находится под рамкой дива и правее нужного положения). П.С. А это вы мне посоветовали хак для ие? И может есть где-то собрание полезных хаков? |
| Автор: NDenis 1.8.2008, 18:54 | ||||||
а обнулить отступы для заголовка?
вот так, примерно
|
| Автор: Iktash 1.8.2008, 19:22 | ||
NDenis, спасибо, в Опере все пучком, но в ИЕ все равно плохо располагается, причем теперь положение вообще не контролируется (изменение значения top ничего не меняет
Это просто для центрирования в ИЕ. |
| Автор: bars80080 1.8.2008, 19:49 |
| и даже хаком не удаётся впарвить в нужное место? (хак должен идти после всех стилей) |
| Автор: Iktash 1.8.2008, 20:00 | ||
bars80080, неа, не удается. Еще пробовал вынести заголовок за див:
Тогда этот заголовок прижимается к левому верхнему углу окна. Да, кстати, в Firefox тоже неправильное расположение, причем не похожее ни на что... |
| Автор: IBS 1.8.2008, 23:31 | ||
Попробуй так - у меня работает в opere и ie, с остальными не прокатит:
Добавлено через 12 минут и 30 секунд Я сам не проверял, но возможно этот код будет работать под все браузеры. <html><head> <style> body{ text-align: center; margin:0; padding:0; } div{ text-align: left; margin: 10px auto; padding:0; width: 250px; height: 400px; border-color: red; border-width: 2px; border-style: solid; background-color: white; } h5{ position: relative; top:-8px; left: 10px; background-color: white; width: 70px; padding-left: 2px; border-color: red; border-width: 2px; border-style: solid; margin-top:0px; } </style> </head><body> <div><h5>Статистика</h5></div> </body></html> Все основные изменения я отметил красным, основная фишка в том, что opera для тегов Н создаёт отступы(margin) - надо их обнулять |
| Автор: webster 1.8.2008, 23:47 | ||
IBS совершенно прав, для "сбрасывания" выравнивания блока по центру видимой области экрана, необходим вернуть свойство text-align в прежнее состояние - выравнивание по-левому краю, в противном случае позиционированные элементы относительно div будут рассчитывать свои координаты относительно центра блока:
|
| Автор: Iktash 2.8.2008, 00:33 |
| webster, IBS, спасибо. Вот теперь действительно работает везде. Даже сам в шоке, что забыл вернуть прежнее значение text-align. Для ясности может объясните еще, когда какое позиционирование лучше использовать. Ведь я изначально пробовал относительное, а диву вообще нормальное оставил. Как понять? И еще: h5{position: absolute;} Здесь элемент позиционируется абсолютно, но координаты его рассчитываются все равно относительно дива, в котором заголовок находится. Что изменяется, если заголовок будет позиционирован как relative? |
| Автор: webster 2.8.2008, 00:45 |
| relative - при использовании этого свойства элемент не изымается из нормального хода документа, т.е. он продолжает занимать определенное место в родительском элементе и просто смещается относительно его, иногда это не очень удобно, потому как, например, надо начинать еще и заполнение родительского элемента текстом с самого его начала, в таком случае можно использовать position: absolute; в таком случае элемент уже не оказывает никакого влияния на окружающие его элементы, он как бы не занимает вообще место в нормальном ходе документа, а просто располагается сверху (или снизу, но это уже регулируется свойством z-index). Для того, чтобы элемент со свойством position: absolute; имел точку позиционирования отличную от левого верхнего угла окна броузера, надо задать свойство позиционирования position: relative; для родительского элемента, в таком случае позиционирование будет осуществляться относительно левого верхнего угла родителя. |
| Автор: Iktash 2.8.2008, 00:50 |
| webster, большое спасибо! Вот теперь я разобрался. |