У меня необычная проблема с CSS в IE7. Вот мой код HTML и CSS:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html dir="ltr">
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<style type="text/css">
.generic_panel {background-color:red; padding:15px; display:block; overflow:hidden;}
.generic_panel h4 {background-color:green; margin:0px; display:block; float:left;}
.generic_panel h2 {background-color:blue; margin:0px; display:block; clear:both; float:none;}
</style>
<!--[if lt IE 9]>
<script src="https://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</head>
<body>
<section id="content">
<section id="payment" class="generic_panel">
<h4><a href="http://mysite.com">Invoice # 000095</a></h4>
<h2>Remaining Invoice Amount: $17.5<br/>
<span>Original Amount: $17.50</span>
</h2>
</section>
</section>
</body>
</html>
При просмотре в IE7 между тегами h4 и h2 есть пробел. Я пытался избавиться от этого белого пространства. Я не понимаю, почему свойства .generic_panel h2 {margin:0px;}
и .generic_panel h4 {margin:0px;}
не избавляются от этого пробела.
Что еще страннее, если я удаляю ЛЮБОЕ из padding:15px
или display:block
или overflow:hidden
из
.generic_panel {background-color:red; padding:15px; display:block; overflow:hidden;}
тогда он избавляется от белого пространства между h4 и h2. Почему свойства css в моем .generic_panel
влияют на расстояние между моими тегами h4 и h2?
Пожалуйста, помогите мне понять, что происходит с $ @ #% # $% $ ....