CSS3 градиент и центрированный div стали адаптивными

Как мне сделать это отзывчивым? Я хотел бы, чтобы градиент и текст изменяли размеры и оставались по центру при изменении размера экрана. Прямо сейчас, градиент будет повторяться время от времени, и шрифт остается тем же. Я хочу, чтобы первый раздел был 100vh, а второй раздел (без разметки) не должен иметь градиент.

https://codepen.io/Shalise/pen/QOwbZJ

html {
  height: 100%;
  margin: 0;
}
    
h1 {
  width: 100%;
  top: 50%;
  left: 0;
  line-height: 200px;
  margin-top: -100px;
  position: absolute;
  text-align: center;
  font-family: Raleway;
  color: white;
  font-size: 3em;
}
    
body {
  background: #ff7043; /* For browsers that do not support gradients */    
  background: -webkit-linear-gradient(left top, #ff7043, #ffc17); /* For Safari 5.1 to 6.0 */
  background: -o-linear-gradient(bottom right, #ff7043, #300032); /* For Opera 11.1 to 12.0 */
  background: -moz-linear-gradient(bottom right, #ff7043, #300032); /* For Firefox 3.6 to 15 */
  background: linear-gradient(to bottom right, #f79f79, #f7d08a); /* Standard syntax (must be last) */
}
    
<section id="gradient">
  <h1>The Sun Will Come Out Tomorrow</h1>
</section>

3 ответа

Вместо этого используйте vw,

html, body {
  height: 100vw;
  margin: 0;
}

а также

h1 {
  width: 100%;
  top: 50%;
  left: 0;
  line-height: 200px;
  margin-top: -100px;
  position: absolute;
  text-align: center;
  font-family: Raleway;
  color: white;
  font-size: 3vw;
}

Чтобы остановить градиент повторяется по вертикали, когда окно сужается внутри тела Использование:

body{
 background-repeat: no-repeat;
 background-attachment: fixed;
}

Вот ОБНОВЛЕНО: Jsfiddle

Вы должны использовать position: relative; вместо position: absolute;

Также наденьте этот код font-size: 3vw;

    html, body {
      height: 100vw;
      margin: 0;
    }

    h1 {
      width: 100%;
      top: 50%;
      left: 0;
      line-height: 200px;
      margin-top: -100px;
      position: absolute;
      text-align: center;
      font-family: Raleway;
      color: white;
      font-size: 2vw;
    }

    body {
        background: #ff7043; /* For browsers that do not support gradients */    
    }

    #sun {
      width: 100vw;
      height: 100vh;
      background: -webkit-linear-gradient(left top, #ff7043, #ffc17); /* For Safari 5.1 to 6.0 */
      background: -o-linear-gradient(bottom right, #ff7043, #300032); /* For Opera 11.1 to 12.0 */
      background: -moz-linear-gradient(bottom right, #ff7043, #300032); /* For Firefox 3.6 to 15 */
      background: linear-gradient(to bottom right, #f79f79, #f7d08a); /* Standard syntax (must be last) */
    }

<section id="sun">
    <h1>The Sun Will Come Out Tomorrow</h1>
</section>
Другие вопросы по тегам