#css #internet-explorer-7 #css-float
#css #internet-explorer-7 #css-float
Вопрос:
Я надеюсь, что кто-то испытал нечто подобное и может указать мне правильное направление, поскольку это сводит меня с ума.
У меня настроен следующий код (извините, я не могу предоставить тестовую ссылку), и он отлично отображается в FF, Chrome, IE8, но в IE7 и IE6 я испытываю странную проблему с плавающей точкой / переносом.
Похоже, что без видимой причины теги h1 и h2, хотя ширина не задана, переносятся.
<div style="width:900px; margin:0 auto;">
<h1 style="float:left; background:#ccc">a long title with background behind text<h1>
<h2 style="float:left; background:#ccc">a longer sub title that also has a background behind text.<h2>
</div>
который отображается как:
длинный заголовок с фоном
позади текста
и
более длинный заголовок, который также имеет
фон за текстом.
Если я удалю плавающий элемент, цвет фона займет всю ширину (чего я не хочу), но текст больше не переносится.
У кого-нибудь есть идеи?
:: редактировать::
Вот некоторая дополнительная информация / скриншоты.
На следующем рисунке показаны два дисплея. главное — это то, как это отображается в IE6, IE7 и IE8 с использованием режима документа: стандарты IE7.
Внизу — FireFox, обычный режим IE8, Chrome
http://awesomescreenshot.com/0a4en0paa
При устранении неполадок я определил, что на строку, которая переносится, влияет строка над ней. Пример: если крошка длинная, заголовок будет иметь короткий перенос, если крошка маленькая, заголовок может вообще не переноситься.
Если я сделаю
дисплей: встроенный заголовок будет отображаться правильно, но подзаголовок будет переноситься в зависимости от длины заголовка. Кроме того, превращение его в встроенный элемент разрушает заполнение текста.
Фактический код:
<div id="hero" style="background:url(images/bg-hero.jpg) center top no-repeat;">
<div class="panel-content">
<p style="background:rgb(0,100,175); background:rgba(0,100,175,.6);">this / is / a bread / crumb / trail / which seems to influence the following item's width</p>
<h1 style="background:rgb(0,100,175); background:rgba(0,100,175,.7);">Title of the page which should span the width</h1>
<h2 style="background:rgb(0,100,175); background:rgba(0,100,175,.6);">sub title which should behave the same way and span the availble width</h2>
</div>
</div>
CSS:
#hero { position:relative; z-index:0; color:#fff; width:100%; min-width:1024px; margin:0 0; overflow:hidden; height:238px; background:url(images/bg-hero-default.jpg) center top no-repeat }
#hero .panel-content { width:978px; min-width: 978px; margin:0 auto; padding:35px 23px 0; position:relative; }
#hero p { float:left; font-size:1.5em; line-height:1.6em; padding:0 5px; margin:0 0 5px; }
#hero h1 { float:left; clear:both; font-size:4em; padding:0 5px 3px; margin: 0 0 3px; color:#fff; line-height:1em; }
#hero h2 { float:left; clear:both; font-size:2em; padding:0 5px 3px; margin:0 0 3px; }
Комментарии:
1. Не могли бы вы описать, какого поведения вы ожидаете? как бы то ни было, ваш вопрос не дает мне достаточно элементов, чтобы понять это
2. Привет @Joe Rizzo возможно, вы можете воссоздать его на www.jsfiddle . сетевой сайт? Итак, мы можем понять, что вы имеете в виду.
3. Можете ли вы дважды проверить свой HTML? У вас нет закрытия
<h1>
или<h2>
.4. добавлена некоторая дополнительная информация с фактическим кодом, а не примером.
Ответ №1:
добавьте white-space:nowrap;
в свое объявление hx
#hero h1 {float:left; clear:both; font-size:4em; padding:0 5px 3px; margin: 0 0 3px; color:#fff; line-height:1em;white-space:nowrap; }
#hero h2 {float:left; clear:both; font-size:2em; padding:0 5px 3px; margin:0 0 3px;white-space:nowrap; }
работает у меня в режиме ie8, ie7.
Комментарии:
1. Это была моя первая мысль, но будут случаи, когда содержимое будет достаточно длинным, чтобы нуждаться в переносе, и я не могу добавить <br /> s, чтобы принудительно это сделать.