Мои разделы не отображаются

#javascript #html #css

#javascript #HTML #css

Вопрос:

Мои разделы #abhimanyu, #arjun, #bheem и #eklavya не отображаются. Прямо сейчас единица измерения равна процентам, но если я добавлю пиксели, это сработает, но не будет реагировать. Есть идеи, почему это не отображается? Заранее благодарю вас!

Обновление: Еще одна проблема, на телефоне, когда я набираю текстовое поле, все выходит из-под контроля.

Вот мой код:

 function displaySignInError() {
  var schoolName = document.getElementById('schoolNameBox').value.toLowerCase();
  switch (schoolName) {
    case 'new horizon gurukul':
      window.location = "NHGLogin.php";
      break;
    default:
      var schoolErrorMessage = document.getElementById('schoolErrorMessage');
      schoolErrorMessage.innerHTML = "Please Enter a valid school name, still if invalid schoold does not exist.";
      schoolErrorMessage.style.color = 'red';
      
  }
}  
 @import url('https://fonts.googleapis.com/css?family=Catamaran:100,200,300,400,500,600,700,800,900|Droid Sans:400,700|Josefin Sans:100,100i,300,300i,400,400i,600,600i,700,700i|Open Sans:300,300i,400,400i,600,600i,700,700i,800,800i|Oxygen:300,400,700|Roboto:100,100i,300,300i,400,400i,500,500i,700,700i,900,900i|Ubuntu:300,300i,400,400i,500,500i,700,700i');

#abhimanyu {
  z-index: -1;
  background-color: green;
  width: 50%;
  float: left;
  height: 47%;
}

#arjun {
  z-index: -1;
  background-color: orange;
  width: 50%;
  float: right;
  height: 47%;
}

#bheem {
  z-index: -1;
  background-color: red;
  width: 50%;
  float: left;
  height: 47%;
}

#eklavya {
  z-index: -1;
  background-color: purple;
  width: 50%;
  height: 47%;
}

#container {
  width: 30em;
  background-color: #eee;
  height: 30em;
  border-radius: 50%;
  position: fixed; 
  top: 50%; 
  left: 50%; 
  transform: translate(-50%, -50%);
  transform: -webkit-translate(-50%, -50%);
  transform: -ms-translate(-50%, -50%);
}

#wrapper {
  width: 30rem;
  height: 30rem;
  border-radius: 50%;
}


#schoolSubmitButton {
  margin-top: 35px;
  text-align: center;
  background-color: white;
  border: 2px solid #fef;
  height: 2em;
  width: 10em;
}

#schoolName {
  margin-bottom: 40px;
  position: fixed; 
  top: 60%; 
  left: 50%; 
  transform: translate(-50%, -50%);
  transform: -webkit-translate(-50%, -50%);
  transform: -ms-translate(-50%, -50%);
  text-align: center;
}

#schoolNameBox {
  height: 2em;
  border: none;
  width: 26em;
  margin-left: 0;
  padding-left: 10px;
}

#schoolSubmitButton p {
  position: relative;
  top: 50%;
  position: relative; 
  top: 30%; 
  left: 50%; 
  transform: translate(-50%, -70%);
  transform: -webkit-translate(-50%, -70%);
  transform: -ms-translate(-50%, -70%);
}

/*
::-webkit-input-placeholder {
   padding-left: 10px;
}

:-moz-placeholder {
  padding-left: 10px;
}

:-ms-input-placeholder {
  padding-left: 10px;
}
*/

#schoolErrorMessage {
  text-decoration: none;
  position: relative;
  top: 6em;
  color: black;
  width: 140%;
  float: left;
  font-size: 15px;
  position: relative;
  right: 20%;
}

#schoolNameDiv {
  position: fixed; 
  top: 60%; 
  left: 50%; 
  transform: translate(-50%, -50%);
  transform: -webkit-translate(-50%, -50%);
  transform: -ms-translate(-50%, -50%);
  text-align: center;
}

#main-heading {
  text-align: center;
  text-decoration: none;
  font-size: 24px;
  z-index: 1;
}

#schoolAvatar {
  height: 9em;
  width: 9em;
  border-radius: 50%;
  position: fixed; 
  top: 25%; 
  left: 50%; 
  transform: translate(-50%, -50%);
  transform: -webkit-translate(-50%, -50%);
  transform: -ms-translate(-50%, -50%);
}

.footerHR {
  border-top: 1px solid grey;
  position: absolute;
  bottom: 20px;
  margin-bottom: 20px;
}

@media screen and (max-width: 530px) {
  #container {
    width: 96%;
    height: 80%;
    border-radius: 5px;
    margin-top: 15px;
  }
  
  #schoolNameBox {
    width: 20em;
  }
  
  #main-heading {
    font-size: 22px;
  }
  
  #main-heading h2 {
    margin-top: 15px;
  }
}  
 <!DOCTYPE html>
<html>
  <head>
    <title>NHG</title>
    <meta charset="UTF-8"/>
    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
    <link type="text/css" rel="stylesheet" href="css/normalize.css"/>
    <link type="text/css" rel="stylesheet" href="css/style.css"/>
    <link type="text/css" rel="stylesheet" href="css/resposive.css"/>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
  </head>
  <body>
    <div id="abhimanyu"></div>
    <div id="arjun"></div>
    <br>
    <div id="bheem"></div>
    <div id="eklavya"></div>
    <header>
            <div id="main-head">
              <!--      REMEMBER TO STYLE THE HEADING AND SIGN UP LINK        -->
              <a href="#" id="main-heading"><h2>sKoolBook</h2></a>
            </div>
    </header>
    <section>
      <div id="container">
        <div id="wrapper">
          <img src="https://i.imgsafe.org/a40bbe047e.png" alt="avatar" id="schoolAvatar" align="middle">
          <div id="schoolNameDiv">
            <div id="schoolName">
              <input type="text" name="schoolName" id="schoolNameBox" placeholder="Enter your School Name...">
              <br>
              <button type="submit" id="schoolSubmitButton" onclick="displaySignInError();">
                <p>Next</p>
              </button> 
              <br>
            </div>
            <br>
            <p id="schoolErrorMessage">School Doesn't exist? Tell your principal about our website now!</p>
          </div>
        </div>
      </div>
    </section>
    <br>
    <footer>
      <div class="footerHR">
      </div>
    </footer>
    <script src="JS/script.js"></script>
  </body>
</html>  

Ответ №1:

Вам нужно определить высоту родительского элемента, поскольку вы используете процент.

Что лучше сделать, так это:

Измените свой HTML на:

 <div class="show-this">
    <div id="abhimanyu"></div>
    <div id="arjun"></div>
    <div id="bheem"></div>
    <div id="eklavya"></div>
</div>
  

В вашем css. Добавьте этот код:

 .show-this {
    height: 100vh;
    width: 100vw;
}
  

Или вы можете просто объявить

 body {
    height: 100vh; // or something
}
  

 .show-this {
  width: 100vw;
  height: 100vh; }

.show-this #abhimanyu {
  height: 10%;
  width: 80%;
  background: red; }

.show-this #arjun {
  height: 20%;
  width: 90%;
  background: yellow; }

.show-this #bheem {
  height: 40%;
  width: 50%;
  background: green; }

.show-this #eklavya {
  height: 20%;
  width: 100%;
  background: blue; }  
 <div class="show-this">
  <div id="abhimanyu"></div>
  <div id="arjun"></div>
  <div id="bheem"></div>
  <div id="eklavya"></div>
</div>  

Надеюсь, это поможет! Приветствия.

Комментарии:

1. Это решило проблему! но теперь есть другая проблема. Заголовок skoolbook неуместен

2. Вам нужно научиться позиционировать элемент. Есть много способов. Я только что ответил на вопрос выше.

3. Вы также можете изменить высоту show-this на значение в пикселях. (например) высота: 40 пикселей;

4. Рад, что я помог 😉 Продолжайте кодировать 🙂