Выравнивание блока по вертикали HTML/CSS

426
24 ноября 2016, 10:16

Опять эта проблема с выравниванием по высоте.

*{ 
	margin: 0; 
	padding: 0; 
	text-decoration: none; 
	font-family: 'Roboto', sans-serif; 
} 
body{ 
	background: #fbfcfc; 
} 
#header{ 
	height: 350px; 
	width: 100%; 
	background: #525ea7; 
} 
#header_photo{ 
	height: 250px; 
	width: 250px; 
	background-image: url('http://aviasovet.ru/blog/wp-content/uploads/2014/05/%D0%A4%D0%BE%D1%82%D0%BE-%E2%84%96-1.jpg'); 
	background-size: 170%; 
  background-position: 50% 0; 
    background-repeat: no-repeat; 
	border-radius: 100%; 
	 
}
<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>Notes</title> 
    <link rel="stylesheet" href="css/main.css" type="text/css"> 
    <link href="https://fonts.googleapis.com/css?family=Roboto:300,400,700" rel="stylesheet"> 
</head> 
<body> 
	<div id="header"> 
		<div id="header_photo"> 
			 
		</div> 
	</div> 
</body> 
</html>

Answer 1

* { 
  margin: 0; 
  padding: 0; 
  text-decoration: none; 
  font-family: 'Roboto', sans-serif; 
} 
body { 
  background: #fbfcfc; 
} 
#header { 
  height: 350px; 
  width: 100%; 
  background: #525ea7; 
   
} 
#header:after { 
  content: ''; 
  display: inline-block; 
  vertical-align: middle; 
  height: 100%; 
} 
#header_photo { 
  display: inline-block; 
    vertical-align: middle; 
  height: 250px; 
  width: 250px; 
  background-image: url('http://aviasovet.ru/blog/wp-content/uploads/2014/05/%D0%A4%D0%BE%D1%82%D0%BE-%E2%84%96-1.jpg'); 
  background-size: 170%; 
  background-position: 50% 0; 
  background-repeat: no-repeat; 
  border-radius: 100%; 
}
<!DOCTYPE html> 
<html lang="en"> 
 
<head> 
  <meta charset="UTF-8"> 
  <title>Notes</title> 
  <link rel="stylesheet" href="css/main.css" type="text/css"> 
  <link href="https://fonts.googleapis.com/css?family=Roboto:300,400,700" rel="stylesheet"> 
</head> 
 
<body> 
  <div id="header"> 
    <div id="header_photo"> 
 
    </div> 
  </div> 
</body> 
 
</html>

Answer 2

Вариант 2 flex:

*{ 
	margin: 0; 
	padding: 0; 
	text-decoration: none; 
	font-family: 'Roboto', sans-serif; 
} 
body{ 
	background: #fbfcfc; 
} 
#header{ 
	height: 350px; 
	width: 100%; 
	background: #525ea7; 
   
      display: flex; 
    flex-flow: column nowrap; 
    align-items: flex-start; 
    align-content: center; 
    justify-content: center; 
} 
#header_photo{ 
	height: 250px; 
	width: 250px; 
	background-image: url('http://aviasovet.ru/blog/wp-content/uploads/2014/05/%D0%A4%D0%BE%D1%82%D0%BE-%E2%84%96-1.jpg'); 
	background-size: 170%; 
  background-position: 50% 0; 
    background-repeat: no-repeat; 
	border-radius: 100%; 
	 
}
<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>Notes</title> 
    <link rel="stylesheet" href="css/main.css" type="text/css"> 
    <link href="https://fonts.googleapis.com/css?family=Roboto:300,400,700" rel="stylesheet"> 
</head> 
<body> 
	<div id="header"> 
		<div id="header_photo"> 
			 
		</div> 
	</div> 
</body> 
</html>

READ ALSO
Как разместить две картинки друг от друга?

Как разместить две картинки друг от друга?

Не могу разместить картинки друг от друга как на фото.

434
Как сверстать два блока?

Как сверстать два блока?

Как сверстать два блока: один слева, второй справа, ширина 1-го зависит от внутреннего контента, а 2-ой от ширины 1-го блока?.

453
Горизонтальный сайт

Горизонтальный сайт

Здравствуйте, ломаю голову. Есть часть кода на html.

472
bootstrap скрыть класс для телефона

bootstrap скрыть класс для телефона

Для одного из блоков на странице в bootstrap нужно убрать класс для мобильных телефонов (тип экрана xs), но разметку нужно оставить. Можно ли как...

436