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>