2013-09-09 4 views
0

У меня есть 2 Div, одно Div должно появиться рядом с другим Div, и его работа такая же, как ожидалось во всех браузерах, но в IE8 правый div появляется ниже левого div, то же самое работает отлично в IE9, Но вопрос только с IE8, как преодолеть это, как я не имею большого опыта по работе с CssПроблемы с CSS в IE8

.leftcontent { 
background: none repeat scroll 0 0 #; 
float: left; 
height: 500px; 
width:25%; 
} 


.rightcontent { 
background: none repeat scroll 0 0 #; 
float: left; 
height: 500px; 
width:80%; 
} 
+1

Эта разметка недостаточно. поставьте рабочий JsFiddle, если вам нужна реальная помощь. – avrahamcool

ответ

0

Ума ваша ширина: 25% + 80% = 105% .. это не правильно ..

Известная ошибка IE 8 заключается в том, что она анализирует ширину по-разному от других браузеров. Он анализирует 20% + 80% + [что-то еще]> 100% .. (см. Комментарии: может быть связано с встроенным блоком, как предложено avrahamcool)

Обычный (и самый простой) способ исправить это чтобы слегка опустить ширину Ex:

.left_content { 
background: none repeat scroll 0 0 #; 
float: left; 
height: 500px; 
width:19%; 
} 


.cal_content { 
background: none repeat scroll 0 0 #; 
float: left; 
height: 500px; 
width:79%; 
} 

19% + 79% = 98% и IE будет вести себя.

+0

кстати .. 80% + 20% всегда 100% в IE. это не известная ошибка .. вы можете сослаться на дополнительный интервал «display: inline-block»; что вызвано новыми строками в надбавке .. – avrahamcool

+0

Это работает нормально, но будет ли такой вид изменения ширины причиной каких-либо проблем с выравниванием в будущем, или это правильный способ решения проблемы? – claudia

+0

claudia: Выравнивание может отличаться в зависимости от вашего дизайна. Пока вы используете это последовательно, вы должны быть в порядке. @avrahamcool: Верно. Это скорее патч, чем исправление. Не стесняйтесь публиковать исправление;) – hvgeertruy

1

вы также можете сделать перегрузку с определенным CSS для IE благодаря IE условных комментариев

<!--[if IE 8]> pour IE 8.0 <![endif]--> 

Там находятся несколько способов их использования, 2 примеров:

  • в заголовке, чтобы добавьте конкретный css

  • и/или инициализировать тело классом ie8, так что в вашем css вы можете определить:

_

.yourCssClass{ 
    /*common css attributes*/ 
} 

.ie8 .yourCssClass{ 
    /*ie8 specific css attributes*/ 
}