Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Вёрстка веб-сайтов > Кросбраузерная верстка


Автор: feosr 24.7.2007, 15:50
Вобщем, одному хорошему человеку верстаю шаблон под Joomla. Возникла проблема. В загаловках модулей надо разместить текст с права и с отступом от правого края в 10 пикселей. Реализовать то просто, но вот с совместимостью пошли глюки. Опера и FF отображают все как надо, а IE обрезает див. Тоесть опера и FF к длинне блока прабавляет еще и паддинг. IE неизменяет размеры. Вобщем, проблема имеет довольно простое решение: использоват xHTML 1.0 Strict но оно небуит давать нужного эффекта если на странице будет хотябы одна ошибка разметки. Подогнать дизайн так чтобы ошибок небыло это легко, но вот думаю что через добавление пары новостей ошибки появятся и все, можно считать оформление испорченным. Вобщем, в CSS есть условия. Как сделать проверку соответсвующую?

говорилось в одной статье про [if ie] но увы, у меня неполучается с ней разобраться. уду очень признателен.

Автор: smartov 24.7.2007, 16:55
Честно ничего не понял. Как это "добавляет к длинне блока паддинг"
Если я создам div в 100 пикселей и сделаю отступ справа в 10 пикселей то любом браузере див останется 100 пикселей.

Автор: feosr 24.7.2007, 17:50
вот пример

user posted image

вот как ототбражается в опере и в IE. FF отображает так же как и опера.

CSS:

Код

.moduletablehead{
    background:url(images/menuhead.png);
    width:208px;
    height:56px;
    line-height:56px;
    text-align:right;
    font-family:"Century Gothic";
    size:16px;
    padding-right: 10px;
    color:#FFFFFF;
}


о как. Есть http://www.quirksmode.org/css/condcom.html но както никак немагу придумать как с помощьюэ той штуки пофиксить эту ситуацию.

Автор: SelenIT 24.7.2007, 18:31
Цитата(smartov @  24.7.2007,  16:55 Найти цитируемый пост)
Если я создам div в 100 пикселей и сделаю отступ справа в 10 пикселей то любом браузере див останется 100 пикселей.

smartov, увы, это не так. Боксовая модель у IE5 (и более новых версий в Quirks mode) и W3C разная, feosr здесь прав.

Цитата(feosr @  24.7.2007,  15:50 Найти цитируемый пост)
использоват xHTML 1.0 Strict но оно небуит давать нужного эффекта если на странице будет хотябы одна ошибка разметки.

??? feosr, можно пример? И еще, что мешает использовать HTML 4.01 Strict - он ведь тоже активирует CSS1Compat mode...

Вообще со времен IE5 есть стандартный обходной путь для этой беды - замена padding-а у основного блока на margin у вложенного блока. Это от боксовой модели не зависит...



Автор: smartov 24.7.2007, 20:19
SelenIT, 
Цитата(SelenIT @  24.7.2007,  17:31 Найти цитируемый пост)
smartov, увы, это не так. Боксовая модель у IE5 (и более новых версий в Quirks mode) и W3C разная, feosr здесь прав

Проверил. Действительно :(
"Признаю свою вину, меру, степень, глубину....
И прошу меня отправить на ближайшую войну.."

Тогда предлагаю делать вот так
Код

<div style="width: 100px; border: 1px solid red; text-align: right;"><span style="padding-right:20px">Preved #1</span></div>
<div style="width: 100px; border: 1px solid red; text-align: right">Preved #2</div>

Это работает одинаково. Проверил в IE6 и последних версиях FF и Opera

Автор: SelenIT 24.7.2007, 20:39
smartov, практически это я и имел в виду выше;). Только я бы юзал именно div и margin, а не span и padding - чтобы даже IE5 и ему подобные ископаемые (не умеющие применять padding-и к строковым элементам) не "ломали ништяк". В крайнем случае - добавить вложенному span-у display:block...

p.s. На войну, все-таки, из-за такой мелочи не стоит, имхо... с кем не бывает... ...ну разве что на браузерную;)

Автор: smartov 24.7.2007, 22:30
Цитата(SelenIT @  24.7.2007,  19:39 Найти цитируемый пост)
IE5 и ему подобные ископаемые

должны умереть в страшных муках smile


Цитата(SelenIT @  24.7.2007,  19:39 Найти цитируемый пост)
Только я бы юзал именно div и margin

Это я понял, само собой, но городить див заради margin у меня как-то рука не поднимается smile

Автор: feosr 25.7.2007, 08:44
SelenIT, ну наверное поотму что Joomla Использует xHTML 1,0

проблема решена, спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)