Показано с 1 по 5 из 5

Тема: IE7 и ширина блока с overflow, если кто-то из родителей float

  1. #1

    Регистрация
    05.08.2009
    Адрес
    Москва
    Сообщений
    20
    Прошу прощения, если тема избитая, однако, решения сходу найти не удалось.

    Ситуация:
    родитель float: left;, дочерний блок содержит плавающие элементы и должен их охватывать.

    Проблема: Установка дочернему элементу свойства overflow: auto; заставляет IE7 вычислять его ширину как для строчного элемента. Проблема не зависит от уровня родства, т.е. у "внучек" и "правнучек" та же проблема.

    Вопрос: существует ли красивое css решение?

    Спасибо.

  2. #2

    Регистрация
    15.11.2006
    Адрес
    Тольятти
    Сообщений
    2,698
    существует ли красивое css решение?
    Попробуйте не overflow: auto, а overflow: hidden.
    + дайте этому элементу на всякий случай hasLayout.

  3. #3

    Регистрация
    05.08.2009
    Адрес
    Москва
    Сообщений
    20
    дайте этому элементу на всякий случай hasLayout.
    Aykroyd
    Огромное спасибо! Вы навели меня на верный путь к понимаю проблемы. Дело именно в hasLayout. Но в моём случае его включение оказывается вредным, вернее, имеет ещё один неожиданный побочный эффект из-за родителя float.
    Мне нужно чтобы наследники плавающего блока считались по ширине как блоки.
    Остаётся вопросом, что делать для правильного расчёта ширины, особенно для элементов, у которых hasLayout по умолчанию...

    Вот иллюстрация, второй вариант наследника ведёт себя в IE7 не как блочный элемент:
    Код:
    * {
    **** margin: 0;
    **** padding: 0;
     }
     html, body {
    **** color: #000;
    **** font-family: Arial, Helvetica, Sans-Serif;
     }
     body {
    **** min-height: 100%;
    **** height: auto !important;
     }
     .parent {
    **** float: left;
    **** width: auto;
    **** border: #000 solid 1px;
    **** margin: 1em;
     }
     .child1, .child2 {
    **** width: auto;
    **** text-align: center;
     }
     .child1 {
    **** background-color: #800;
    ******/* hasLayout off */
     }
     .child2 {
    **** background-color: #080;
    **** height: 1%; /* hasLayout on */
     }
     .sizer { width: 200px; }
    Код:
    <?xml version="1.0" encoding="utf-8"?>
     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    ******** "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
     <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
     <head>
    **** <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    **** <title>hasLayout</title>
    **** <link rel="stylesheet" type="text/css" href="hasLayout.css" /></head>
     <body>
    **** <div class="parent">
    ******** parent
    ******** <div class="child1">
    ************ child 1
    ******** </div>
    ******** 
    **** </div>
    **** <div class="parent">
    ******** parent
    ******** <div class="child2">
    ************ child 2
    ******** </div>
    ******** 
    **** </div>
     </body>

  4. #4

    Регистрация
    15.11.2006
    Адрес
    Тольятти
    Сообщений
    2,698
    Да, есть такой глюк в IE. Более того, лекарство от него мне неведомо (поверхностный анализ проблемы результатов не дал, а копаться глубоко, к сожалению, времени нет).

    Тем не менее, лично мне все это никогда не создавало и не создает каких-либо проблем, поскольку флоатить что-либо куда-либо без назначения этому чему-либо какой-либо явной ширины – это, по моему скромному мнению, сомнительная практика (за исключением обычных графических изображений)...

  5. #5

    Регистрация
    05.08.2009
    Адрес
    Москва
    Сообщений
    20
    Aykroyd, Большое спасибо!

Похожие темы

  1. Ответов: 2
    Последнее сообщение: 09.08.2009, 23:33
  2. Растяжение родительского блока для float в IE6
    от Kiosuki в разделе Вёрстка сайта
    Ответов: 2
    Последнее сообщение: 09.06.2009, 21:42
  3. Неработает overflow:hidden; в ИЕ7
    от KukMan в разделе Вёрстка сайта
    Ответов: 3
    Последнее сообщение: 30.05.2008, 17:13
  4. overflow:hidden и ие7
    от KukMan в разделе Вёрстка сайта
    Ответов: 1
    Последнее сообщение: 23.04.2008, 16:38
  5. Проблемы скролинга при overflow..
    от formatzz в разделе Вёрстка сайта
    Ответов: 4
    Последнее сообщение: 13.09.2007, 20:58

Ваши права

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