Не отображаются новые элементы на странице html

Недавно начал изучать сайтостроение, для практики захотел сделать небольшой сайт для себя, но столкнулся с такой проблемой, что новые элементы не появляются на странице. Код:

html, body{
    width:100%; 
    height:100%; 
    padding:0px; 
    margin:0px;
    overflow: hidden;
    background: #191d1e; /* Old browsers */
    
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#191d1e', endColorstr='#191d1e',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
    background-attachment: fixed
}

#projector {
  position: absolute; 
  top: 0px;
  left: 0px;
  width:100%;
  height:100%;
} 

#More {
    height: 50px;
    width: 150px;
    background-color:#696969;
    border-radius: 10px;
}


#SM {
    position:relative;
    bottom:20%;
    left: 25%;
}

.center-div {
    width:580px;
    height:374px;
    position:absolute;
    left:50%;
    top:50%;
    margin-left: -290px;
    margin-top:  -187px;
}

#preloaderDiv
{
    position:absolute;
    left:50%;
    top:50%;
    margin-left: -27px;
    margin-top:  -27px;
}

#logo{
    opacity:0;
    filter: alpha(opacity=0);
}

#date2014
{
    position:absolute;
    padding-left: 210px;
    padding-top:15px;
    opacity:0;
    top:303px;
    left:0;
    filter: alpha(opacity=0);
}
<!DOCTYPE html>
<html lang="en" >
<head>
  <meta charset="UTF-8">
  <title>Sancta Membrum</title>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css">
<link rel="stylesheet" href="./style.css">

</head>
<body>
    <div id="SM">
        <h1><img src="./SM.png" height = "650px" width = "650px"></h1>
    </div>
    <div id="buttons">
        <p>
            <input type="button" value="Подробнее">
        </p>
    </div>
<!-- partial:index.partial.html -->
<canvas id="projector">Your browser does not support the Canvas element.</canvas>
<!-- partial -->
  <script src='https://code.createjs.com/easeljs-0.7.1.min.js'></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/gsap/1.18.0/TweenMax.min.js'></script><script  src="./script.js"></script>

</body>
</html>


Ответы (1 шт):

Автор решения: xydope
  • у html и body стоит height: 100% - 100% от размеров окна.
  • у html и dody стоит overflow: hidden - все, что выходит за границы body - скрыто, если экран меньше 650px, например, вы используете редактор jsfiddle, то весь экран займет элемент img, а остальные элементы будут за границами body.
  • Да и в целом с разметкой беда. Есть странные конструкции такого плана<h1><img src="./SM.png" height = "650px" width = "650px"></h1>, зачем?
  • Вы позиционируете все элементы через position - это неверный подход, попробуйте использовать flex, grid, float.

Смотрите пример, граница body имеет бордер красного цвета, все, что вне данной границы у вас скрыто.

html,
body {
  width: 100%;
  height: 100%;
  padding: 0px;
  margin: 0px;
  /* Old browsers */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#191d1e', endColorstr='#191d1e', GradientType=1);
  /* IE6-9 fallback on horizontal gradient */
  background-attachment: fixed;
  background: #191d1e;
}

body {
  border: 2px solid red;
}

#projector {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
}

#SM {
  position: relative;
  bottom: 20%;
  left: 25%;
}
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <title>Sancta Membrum</title>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css">
  <link rel="stylesheet" href="./style.css">

</head>

<body>
  <div id="SM">
    <img src="./SM.png" height="650px" width="650px">
  </div>
  <div id="buttons">
    <input type="button" value="Подробнее">
  </div>
  <!-- partial:index.partial.html -->
  <canvas id="projector">Your browser does not support the Canvas element.</canvas>
  <!-- partial -->
  <script src='https://code.createjs.com/easeljs-0.7.1.min.js'></script>
  <script src='https://cdnjs.cloudflare.com/ajax/libs/gsap/1.18.0/TweenMax.min.js'></script>
  <script src="./script.js"></script>

</body>

</html>

→ Ссылка