Не работает центровка из Таблицы Css [13/18]


Есть вот такой код
html:

<!DOCTYPE html>
<html lang="ru">
  <head>
    <title>Горизонтальное и вертикальное выравнивание</title>
    <meta charset="utf-8">
    <link href="course.css" rel="stylesheet">
    <link href="style.css" rel="stylesheet">
  </head>
  <body>
    <div class="modal-wrapper">
      <div class="modal-cell">
        <div class="modal-content">
          <form action="/echo" method="post">
            <input type="text" placeholder="Логин">
            <input type="password" placeholder="Пароль">
            <button type="submit">Отправить</button>
          </form>
        </div>
      </div>
    </div>
  </body>
</html>

css:

.modal-content {
	border: 1px solid black;
	width: 200px;
}

input {
	margin-bottom: 15px;
}

.modal-wrapper {
  display: table;
}

.modal-cell {
  display: table-cell;
  text-align: center;
  vertical-align: middle;
}

И по данной теории, модальное окно должно центроваться точно посередине, но после ввода кода не на htmlacademy ничего не происходит, не центруется. Что не так?

по данной теории окно будет центрироваться точно посередине родителя. Поэтому если родителю задать размер “с экран”, то модалка и будет посередине экрана. В примере к уроку 13/18 для родительской таблицы заданы свойства (их можно глянуть через DevTools)

.modal-wrapper {
box-sizing: border-box;
width: 100%;
height: 400px;
border: 1px solid #ccc;

т.е. академия за вас добавила высоту и ширину родительской таблице и появилось “пространство”, в котором ячейка может центрироваться. Если вы не задаете высоту и ширину родительской таблице, то она ужимается под содержимое и центровка не заметна.

1 лайк

спасибо, понял

так а вы полностью стили скопировали? потому что если присмотритесь к html коду прицеплено 2 stylesheet, один вы видите явно, другой нет. посмотрите через инспектор или инструменты разработчика и увидите большие отличия.

вот он если сильно интересно
body{
	margin:0;
	font-size:16px;
	font-family:"Arial",sans-serif
}
.wood{
	background-color:#fff;
	background-image:url(img/wood.png);
	background-repeat:repeat
}
img[src$=".svg"]{
	width:60px;
	height:60px
}
.checklist{
	margin:20px;
	padding:10px
}
.checklist img{
	vertical-align:middle
}
.checklist h1{
	margin-top:0;
	margin-bottom:10px;
	margin-left:40px;
	font-size:20px
}
.checklist ul{
	margin:0;
	padding:20px;
	list-style-type:none
}
.checklist li{
	position:relative;
	top:-15px;
	padding:10px 10px 0;
	border-right:20px solid transparent;
	border-bottom:30px solid #a5a5a5;
	border-left:20px solid transparent
}
.checklist li img{
	position:relative;
	top:20px;
	border-radius:10px;
	box-shadow:0 10px 10px -5px rgba(0,0,0,.4)
}
.checklist.united{
	padding-top:0
}
.checklist.united li{
	border-right:inherit;
	border-left:inherit
}
.checklist.united li:first-child{
	border-left:20px solid transparent
}
.checklist.united li:last-child{
	border-right:20px solid transparent
}
.checklist.united li::before{
	position:absolute;
	top:-30px;
	left:-2px;
	width:0;
	height:0;
	border:2px solid transparent;
	border-top-width:60px;
	border-bottom-width:60px;
	border-bottom-color:#686868;
	content:""
}
.checklist.united li:first-child::before{
	content:none
}
.checklist li::after{
	position:absolute;
	bottom:-40px;
	left:-20px;
	width:calc(100% + 40px);
	height:10px;
	background-color:#686868;
	content:""
}
.table-layout{
	background:url(img/wall-2.png) 0 0
}
.table-layout header{
	position:relative;
	z-index:5;
	background-color:#2c3e50;
	background-image:linear-gradient(45deg,#34495e 25%,transparent 25%),linear-gradient(-45deg,#34495e 25%,transparent 25%),linear-gradient(135deg,#34495e 25%,transparent 25%),linear-gradient(-135deg,#34495e 25%,transparent 25%);
	background-position:10px 0,10px 0,0 0,0 0;
	background-size:20px 20px;
	box-shadow:0 0 5px 0 #333;
	color:#fff;
	text-indent:120px
}
.table-layout h1{
	margin:0;
	padding:20px 0;
	font-weight:400;
	font-size:18px
}
.table-layout header::before{
	position:absolute;
	top:10px;
	left:20px;
	width:90px;
	height:90px;
	background-image:url(//htmlacademy.ru/assets/course73/logo.svg);
	content:""
}
.table-layout main{
	box-sizing:border-box;
	padding:40px 10px;
	color:#000;
	text-align:center
}
.table-layout .content::after{
	display:table;
	clear:both;
	content:""
}
.table-layout .sticky-footer{
	background-color:#f1c40f;
	color:#000;
	font-size:14px
}
.table-layout .footer-logo{
	margin:20px;
	width:50px;
	height:45px;
	border:2px solid #fff;
	box-shadow:0 0 4px #c0392b;
	vertical-align:middle
}
.table-layout .copyright{
	float:right;
	margin:37px;
	font-size:12px
}
.table-layout .author{
	display:inline-block;
	margin:0
}
.table-layout .content,.table-layout .side{
	border:1px solid #a1a1a1;
	background-color:rgba(27,27,27,.1)
}
.table-layout p{
	margin:1em
}
.striped-layout{
	width:100%;
	height:100%
}
.striped-layout li{
	font-size:0
}
.striped-layout h1{
	text-align:center;
	font-size:20px
}
.modal-wrapper,.striped-layout{
	background-color:#fff;
	background-image:url(data:image/png;
	base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAjCAMAAAApB0NrAAAABlBMVEX///+pqalTpKl9AAAAAnRSTlMAGovxNEIAAAAdSURBVDjLY2AAAUaG4UYxDDsfjfp91O+jfqfE7wCzpQCw/dq+qQAAAABJRU5ErkJggg==)
}
.modal-wrapper{
	box-sizing:border-box;
	width:100%;
	height:400px;
	border:1px solid #ccc
}
.modal-cell{
	padding:10px;
	background-color:#eee
}
.modal-wrapper h1{
	margin-top:0;
	font-size:1.5em
}
.modal-content{
	display:inline-block;
	padding:20px;
	width:250px;
	border:1px solid #ccc;
	border-radius:3px;
	background-color:#fff;
	text-align:left
}
.modal-wrapper input{
	box-sizing:border-box;
	padding:8px 5px;
	width:100%;
	border:1px solid #e6e6e6;
	border-radius:3px
}
.modal-wrapper button,.modal-wrapper input{
	margin:10px 0;
	font-size:14px
}
.formula li img{
	width:40px;
	height:40px
}
.photo-btn{
	position:absolute;
	top:15px;
	right:20px;
	display:block;
	padding:.35em 1em;
	max-width:270px;
	border:1px solid #f1c40f;
	border-radius:0;
	background-color:transparent;
	color:#f1c40f;
	text-align:center;
	font-size:16px;
	line-height:1.2;
	user-select:none
}
.photo-btn:focus,.photo-btn:hover{
	background-color:#f1c40f;
	color:#fff
}
.photo{
	display:block;
	margin:10px auto;
	height:140px
}