Страница 1 из 4 1234 ПоследняяПоследняя
Показано с 1 по 20 из 65

Тема: Обтекание текстом float-а в IE

  1. #1

    Регистрация
    15.11.2006
    Адрес
    Тольятти
    Сообщений
    2,698

    Натолкнулся на очередной сюрприз с любимым браузером.
    Суть в следующем:

    Если текст (прямой поток) обтекает float, например, c левой стороны, то на всем вертикальном протяжении float-а текст в прямом потоке имеет неприятный дополнительный отступ в 3 пиксела (рассматривается ситуация, когда весь блок текста имеет левый margin, не заходит под float по его завершению, а продолжается вниз одной колонкой). Смотрится этот визуальный эффект совсем не радостно.

    Есть мнения?

  2. #2

    Регистрация
    07.07.2006
    Сообщений
    105
    [Только зарегистрированные пользователи могут видеть ссылки. ]

  3. #3

    Регистрация
    19.08.2006
    Сообщений
    45
    К сожалению не знаю английский, может там лучший способ описан, но я брал текст в дополнительный div. Работает.

  4. #4

    Регистрация
    15.11.2006
    Адрес
    Тольятти
    Сообщений
    2,698
    Originally posted by Зверь@Feb 2 2007, 00:21
    К сожалению не знаю английский, может там лучший способ описан, но я брал текст в дополнительный div. Работает.
    <div align='right'>[Только зарегистрированные пользователи могут видеть ссылки. ]
    [/quote]
    Вынужден с Вами не согласиться. Так просто – не работает.
    Речь как раз и идет и том, когда текст в дополнительном диве или параграфе.
    И насколько и чем этот див или параграф от float-а не отодвигай – трехпиксельный отступ в IE все равно присутствует.

    С английским у меня проблем нет, но в последствии я нашел об этом и по-русски:

    [Только зарегистрированные пользователи могут видеть ссылки. ]

  5. #5

    Регистрация
    19.08.2006
    Сообщений
    45
    Речь как раз и идет и том, когда текст в дополнительном диве или параграфе
    float в одном div, контент в другом. И вот этот контент берем еще в один div. Тогда работает.

  6. #6

    Регистрация
    15.11.2006
    Адрес
    Тольятти
    Сообщений
    2,698
    Originally posted by Зверь@Feb 2 2007, 00:43
    float в одном div, контент в другом. И вот этот контент берем еще в один div. Тогда работает.
    <div align='right'>[Только зарегистрированные пользователи могут видеть ссылки. ]
    [/quote]
    Да ладно Вам, только сейчас из принципа попробовал – ноль эмоций.
    Примерчик реальный с простым дополнительным дивом не можете привести?

  7. #7

    Регистрация
    19.08.2006
    Сообщений
    45
    Вложенный див делаем хотя бы 99% ширины от внешнего. Тогда работает.
    Фишка я так понимаю в том, что первый див так и идет с отступом, а второй ровняется как надо.

  8. #8

    Регистрация
    15.11.2006
    Адрес
    Тольятти
    Сообщений
    2,698
    Originally posted by Зверь@Feb 2 2007, 01:06
    Вложенный див делаем хотя бы 99% ширины от внешнего. Тогда работает.
    <div align='right'>[Только зарегистрированные пользователи могут видеть ссылки. ]
    [/quote]
    Во-от! Об этом-то Вы сразу и не сказали.
    Но зачем плодить дивы? Не проще ли для певого дива просто указать
    {height: 1%;} ? + еще кое-какие небольшие коррективы в CSS.

    Originally posted by Зверь@Feb 2 2007, 01:06
    Фишка я так понимаю в том, что первый див так и идет с отступом, а второй ровняется как надо.
    <div align='right'>[Только зарегистрированные пользователи могут видеть ссылки. ]
    [/quote]
    Вы не совсем правильно трактуете ситуацию.
    Дело в том, что, как это ни парадоксально, трехпиксельный отступ в данном случае – не у дива, а непосредственно у inline-текста, который находится в этом диве или параграфе. И только на вертикальном протяжении флоата это наблюдается. А сам див с контентом вплотную прижимается к диву с флоатом.

  9. #9

    Регистрация
    15.11.2006
    Адрес
    Тольятти
    Сообщений
    2,698
    Вот, собственно говоря, предлагаю переработанный и дополненный метод Aykroyd-а (простите за нескромность).

    Допустим, имеем три колонки, фон для которых задается методом [Только зарегистрированные пользователи могут видеть ссылки. ].
    Левая колонка – news (float), средняя колонка – main (прямой поток) и правая колонка – present (float). Используем следующие правила:

    Код:
    #news {width: 250px; float: left;}
    * html #news {margin-right: -3px;}
    
    #present {width: 220px; float: right;}
    * html #present {margin-left: -3px;}
    
    #main {margin: 0px 220px 0px 250px;}
    * html #main {height: 1%; margin: 0px 217px 0px 247px;}
    И никаких трехпиксельных отступов в IE. Ни справа, ни слева...

  10. #10

    Регистрация
    02.02.2007
    Сообщений
    136

    Originally posted by Aykroyd@Feb 1 2007, 22:05
    Вот, собственно говоря, предлагаю переработанный и дополненный метод Aykroyd-а (простите за нескромность).*

    Допустим, имеем три колонки, фон для которых задается методом [Только зарегистрированные пользователи могут видеть ссылки. ].
    Левая колонка – news (float), средняя колонка – main (прямой поток) и правая колонка – present (float). Используем следующие правила:

    Код:
    #news {width: 250px; float: left;}
    * html #news {margin-right: -3px;}
    
    #present {width: 220px; float: right;}
    * html #present {margin-left: -3px;}
    
    #main {margin: 0px 220px 0px 250px;}
    * html #main {height: 1%; margin: 0px 217px 0px 247px;}
    И никаких трехпиксельных отступов в IE. Ни справа, ни слева...*
    <div align='right'>[Только зарегистрированные пользователи могут видеть ссылки. ]</div>
    А скажите пожалуйста, зачем по два раза описываете каждый слой?

  11. #11

    Регистрация
    15.11.2006
    Адрес
    Тольятти
    Сообщений
    2,698
    Первый раз для нормальных браузеров, второй раз – для этогосамого...

  12. #12

    Регистрация
    02.02.2007
    Сообщений
    136
    А т.к. 7-0й IE такого бага не имеет, то получаеться что * html.... прочитает и неправильно будет отображаться?

    Так что же с седьмым IE делать? Он же примент код который ему не к чему?

  13. #13

    Регистрация
    15.11.2006
    Адрес
    Тольятти
    Сообщений
    2,698
    Не поймите превратно (ничего личного), но Вы хоть сами-то поняли, что сказали?

  14. #14

    Регистрация
    02.02.2007
    Сообщений
    136
    Недаром говорят - поспешишь людей насмешишь! И себя тоже!

    Вобщем так... Я читал, что IE 7-ой версии не дает этих трехпиксельных отступов.
    В связи с этим возникает вопрос. Прочитает он строку
    первую
    Код:
    #present {width: 220px; float: right;}
    или вторую?
    Код:
    * html #present {margin-left: -3px;}
    Если вторую то тогда будет немного коряво выглядеть текст или слои.. Так как отступы то он не дает, а маргин все равно выполниться.
    Как тут быть?

  15. #15

    Регистрация
    15.11.2006
    Адрес
    Тольятти
    Сообщений
    2,698
    Как тут быть?
    Говорят, что ритуальные пляски с бубном вокруг костра помогают... Или жертвоприношения... Прекратите панику – все, что следует за конструкцией "* html" понимает только IE6...

  16. #16

    Регистрация
    02.02.2007
    Сообщений
    136
    Originally posted by Aykroyd@Jun 18 2007, 17:11
    Говорят, что ритуальные пляски с бубном вокруг костра помогают... Или жертвоприношения... Прекратите панику – все, что следует за конструкцией "* html" понимает только IE6...
    <div align='right'>[Только зарегистрированные пользователи могут видеть ссылки. ]
    [/quote]
    Вот это да.. получаеться что звездочка только для?

  17. #17

    Регистрация
    15.11.2006
    Адрес
    Тольятти
    Сообщений
    2,698
    С одной стороны это, конечно, хорошо, что в седьмой версии пофиксили баг, основанный на * html (да, IE7 игнорирует данную конструкцию наравне с другими нормальными браузерами), но с другой стороны далеко не все глюки, присутствующие в IE6, исправлены в IE7. Например, IE7, как и IE6 увеличивает отступы между блочными ссылками в списке и имеет старые проблемы со свойством clear...

    Поэтому в некоторых случаях теперь приходится дублировать тот или иной хак и для седьмого. Выглядит это примерно так:
    Код:
    * html a {height: 1%;}
    *+html a {height: 1%;}

  18. #18

    Регистрация
    02.02.2007
    Сообщений
    136
    Вот спасибо большое! Понял... Но не глубинно.. Случаем не знаете ли где можно почитать что-нить по звездачкам и сопутсвующим.. )))

  19. #19

    Регистрация
    15.11.2006
    Адрес
    Тольятти
    Сообщений
    2,698
    [Только зарегистрированные пользователи могут видеть ссылки. ]

    см. прикрепленное изображение

  20. #20

    Регистрация
    02.02.2007
    Сообщений
    136
    Originally posted by Aykroyd@Jun 18 2007, 17:58
    [Только зарегистрированные пользователи могут видеть ссылки. ]

    см. прикрепленное изображение
    <div align='right'>[Только зарегистрированные пользователи могут видеть ссылки. ]
    [/quote]

    Мега спасибо! Просветился аж до утра хватит размышлять! А то и дольше!
    Айкройад, а как вы думаете, кто эти хаки придумал? Ведь я так понимаю, когда разрабатывали CSS , то вряд ли кто-то задумывался о глючностях браузеров и о их решениях.... Ну по крайней мере седьмого IE точно не было во время разработки CSS 2.

Страница 1 из 4 1234 ПоследняяПоследняя

Похожие темы

  1. Ответов: 2
    Последнее сообщение: 09.08.2009, 23:33
  2. Обтекание текстом флеша внизу
    от ruFog в разделе Вёрстка сайта
    Ответов: 1
    Последнее сообщение: 16.06.2007, 10:47
  3. Обтекание картинок текстом в Фотошопе
    от Kvex в разделе Растровая графика
    Ответов: 1
    Последнее сообщение: 21.03.2007, 01:42
  4. обтекание текстом
    от draft в разделе Векторная графика
    Ответов: 6
    Последнее сообщение: 23.01.2007, 16:40
  5. обтекание текстом фигуры
    от draft в разделе Растровая графика
    Ответов: 3
    Последнее сообщение: 08.01.2007, 17:10

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •