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

423
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
Как разместить две картинки друг от друга?

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

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

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

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

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

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

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

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

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

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

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

432