Aug 10
Вчера наткнулся на сайте Eric IDE (прикольная, довольно легковесная IDE для питона и руби) на достаточно интересную картину, а именно:
Думаю, проблема всем понятна - при указании размера шрифта в процентах (да и в em-ах тоже, кстати говоря) для тех элементов, которые могут быть вложенными приводит к плохим последствиям! Будьте осторожны!
Лично я везде указываю размеры шрифтов в пикселях и на мой взгляд - это вполне оправданно - на моей памяти было мало случаев, в которых размеры шрифтов действительно рассчитывались друг относительно друга (разве что относительно body, но тут уж ничего не поделаешь).






August 11th, 2008 at 18:55
Проблема здесь не в процентах или em а скорее в неправельно написанном css ;)
August 11th, 2008 at 19:00
Неа. Посмотри мой пример. И подумай над тем, что ты, например, указываешь:
Этот код ведет к подобным глюкам. Такое встречается нечасто (на моей памяти - это впервые), но всё-таки встречается. :)
August 11th, 2008 at 19:59
Правельно! Ведь размеры в процентах и em единицах наследуютса от родителя. Или я чегото не понял?!
August 11th, 2008 at 20:03
Кстати я вот недавно встретил баг в Firefox 3 связанный с ошибкой при делении. Появляться он когда в тэге используется размер шрифта в процентах или em.
August 11th, 2008 at 20:06
Понял ты правильно, только такой CSS, мягко говоря, нелогичен, не правда ли? :)
August 11th, 2008 at 20:25
Как раз наоборот. По умолчанию свойство font-size: во многих браузерах имеет значение inherit и работает оно помойму только с относительными величинами. Это избавляет css от лишнего кода, а именно fon-size в почти каждом правиле. Это конечно может сконфузить особенно если ты создаёшь полностью эластичный макет, тоесть все размеры и отступы в em.
August 11th, 2008 at 20:59
Не думаю, что с относительными. ;)
Если бы inherit работал с относительными величинами “Привет” в #content p был бы меньше, чем “Привет” в #content.
September 8th, 2008 at 09:38
Ты путаешь относительные величины с абсолютными, это потенциальная разница ;)
September 8th, 2008 at 13:18
Ну и где я путаю? :)
September 8th, 2008 at 16:10
Вобщем я переделал твой пример на правильный. Я надеюсь разница теперь видна ;)
September 8th, 2008 at 21:06
А причем тут относительные величины и абсолютные. Я прекрасно знаю, как то, что я показал выше можно пофиксить, но абсолютно не всегда очевидно, что если я указал
то я должен указывать ОБЯЗАТЕЛЬНО еще и:
September 8th, 2008 at 22:30
При чем здесь пофиксить? Это же не баг, правило исполняетса верно. Просто если использовать абсолютную величину, к примеру 12px то размер фонта будет во всех вложенных елементах 12px, а если использовать относительную величину как в твоём примере то в каждом следующем елементе размер фонта будет на 1/4 меньше родительского.
September 8th, 2008 at 22:32
Это для математики не баг. А для юзабилити - вполне себе баг.