@sparco422

Что делает этот класс, #middle:after { clear: both; display: block; content: '';?

Здравствуйте. прошу помощи. При верстке сайта появилась проблемма - блок футера сайта накладывался на блок контента. Был найдено решение добавление класса
.middle:after {
clear: both;
display: block;
content: '';
Пожалуйста объясните, простым языком , что этот класс делает и почему он решает мою проблемму. Всем кто откликнулся огромное спасибо.
<!DOCTYPE html>

<html lang="en">
<head>
  <meta charset="utf-8">

  <title>Главная страница</title>
  <meta name="description" content="The HTML5 Herald">
  <meta name="author" content="SitePoint">
   <link rel="stylesheet" href="/resource/css/style.css">

 </head>

<body>
	<div id="main">

			<div id="header">
				
			</div>
	
		<div class="middle">

				<div id="middle-content">

						<div id="content">
							Контент
						</div>

				</div>


				<div id="middle-left-block">
					левый блок
				</div>


				<div id="middle-right-block">
					правый блок
				</div>
	
		</div>

			<div id="footer">
				
			</div>


	</div>
</body>
</html>


/*----------=======Подключение шрифтов=======----------*/
@import "http://webfonts.ru/import/roboto.css";
/*================================================================*/
/*----------=======Подключение шрифтов=======----------*/
*{
	margin: 0;
	padding: 0;
	outline: none;
}
/*================================================================*/
/*----------=======Стили body=======----------*/
body { 
background: url("/images/bg.png") #EAEAEA; 
cursor: default; 
font-family: 'Roboto'; 
overflow: hidden;
}
/*================================================================*/
/*----------=======Стили ссылок а=======----------*/
a{
	text-decoration: none;
}
/*================================================================*/
/*----------=======Cтраница=======----------*/
#main{
	width: 1140px;
	height: auto;
	margin: 0 auto;
	background: #f8f8f8;
	border-radius: 10px;
}
/*================================================================*/
/*----------=======Header=======----------*/
#header{
	width: 1140px;
	height: 140px;
}
#logo{
	padding: 32px 0 0 10px;
	position: absolute;
}
#header_top_menu{
	
	

}
#header_top_menu ul{
	list-style: none;

}
#header_top_menu ul li{
	float: left;
	margin-left: 10px;

}
#header_top_menu ul li a{
	font-size: 22px;
	color: #000000;

}
/*================================================================*/
/*----------=======Middle=======----------*/
.middle{
	width: 100%;
	height: auto;
	position: relative;

}
.middle:after {
	clear: both;
	display: block;
	
	content: '';
}
/*================================================================*/
/*----------Контент----------*/
#middle-content{
	width: 100%;
	float: left;
	overflow: hidden;
}
#content{
	padding: 0 270px 0 270px; 
	height: 100px;
	
}
/*================================================================*/
/*----------Левый блок----------*/
#middle-left-block{
	float: left;
	width: 250px;
	margin-left: -100%;
	position: relative;
	background: #cdcdcd;
	height: 100px;
}
/*================================================================*/

/*----------Правый блок----------*/
#middle-right-block{
	float: left;
	width: 250px;
	margin-left: -250px;
	position: relative;
	background: #cdcdcd;
	height: 100px;
}
/*================================================================*/
/*----------=======Footer=======----------*/
#footer{
	width: 1140px;
	height: 140px;
	border: solid 1px black;
}
/*================================================================*/
  • Вопрос задан
  • 575 просмотров
Решения вопроса 1
Hyubert
@Hyubert
JS
Ето так званая псевдо-разпорка , обично используют класс clearfix - ето метод отмены действия float без изменения структуры HTML-документа.

подробней можете прочитать здесь
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
sabramovskikh
@sabramovskikh
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы