#css
#css — код
Вопрос:
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<style>
body {width:100%;
height:100%;
margin:0;
padding:0;}
#star_box {width:100%;
height:auto;
overflow:hidden;
display:block;
background-image:url('https://www.rakuten.ne.jp/gold/sappun/promotion/test.jpg') ;
background-size: cover;
background-repeat: no-repeat;
background-position: center top;}
.star {color:white;
animation-name:zoomin;
animation-duration:5s;
text-align:center;
animation-iteration-count:infinite;}
.star2 {color:white;
animation-name:zoomin;
animation-duration:5s;
text-align:center;
animation-iteration-count:infinite;
animation-delay:.5s;}
@keyframes zoomin {
0%{
transform: scale(0,0) rotateZ(0deg);
}
25%{
transform: scale(4,4) rotateZ(80deg);
}
50%{
transform: scale(0,0) rotateZ(0deg);
}
100%{
transform: scale(0,0) rotateZ(0deg);
}
}
#star_box > p:nth-child(1) {margin-left:450px;
margin-top:150px;}
#star_box > p:nth-child(2) {margin-left:400px;
margin-top:10px;}
#star_box > p:nth-child(3) {margin-left:-450px;
margin-top:350px;}
#star_box > p:nth-child(4) {margin-left:-530px;
margin-top:30px;}
#star_box > p:nth-child(5) {margin-left:280px;
margin-top:-200px;}
#empty_box {width:80%;
height:1200px;
display:block;
margin:0 auto;
margin-top: -350px;}
#text {text-align:center;
color:white;
font-size:50px;
margin-top:250px;
opacity:0;
transition:opacity .3s linear;}
#empty_box:hover ~ #text {opacity:1;}
</style>
</head>
<body>
<div id="star_box">
<p class="star">amp;#10022;</p>
<p class="star2">amp;#10022;</p>
<p class="star">amp;#10022;</p>
<p class="star2">amp;#10022;</p>
<p class="star">amp;#10022;</p>
<div id="empty_box"></div>
<p id="text">今すぐ見る</p>
</div>
</body>
</html>
Привет! теперь у меня проблема с этим кодом, чтобы сделать фон отзывчивым в полном размере.
итак, во-первых, оно должно быть адаптивным для мобильных
устройств, а во-вторых, высота фона должна составлять 100% без содержимого, чтобы я мог постоянно видеть полное изображение.
я уже пробовал background-size: cover, но он не работает в моем коде: (
где я должен исправить, чтобы сделать фон в полный размер?
любая помощь будет очень признательна. Спасибо! : D
Комментарии:
1. Под полным размером вы подразумеваете полноэкранный режим или браузер сокращает какую-то часть из-за
background-size: cover
, а вы не хотите, чтобы он это делал.2. является ли «background-size: cover» похожим на вырезание?? я этого не знал;;… я хочу сделать его полноразмерным, но если я установлю какое-то определенное число, например, height: 2500px ~, тогда он больше не будет реагировать, так что ….: ( что, как я могу сделать это на весь экран?
3. Альтернатива
background-size: cover
isbackground-size: contain
Contan покажет все изображение целиком.
Ответ №1:
Использование height
будет зависеть от вашего контейнера, а использование background-size: cover
растянет ваше изображение в соответствии с контейнером, поэтому оба они не гарантируют, что изображение будет размером во весь экран.
Вы можете использовать vh
и vw
для этого, например:
.img {
height: 100vh;
width: 100vw;
background-size: cover;
background-repeat: no-repeat;
}
Комментарии:
1. Вы уверены?
vh
иvw
единицы измерения не относятся к родительскому элементу, используйте%
скорее единицы измерения, которые относятся к области просмотра.2. Я думаю, он хочет полноэкранный режим, так что относительно видового экрана все должно быть в порядке
3. Привет! спасибо за вашу помощь! : D использование способа «vh, vw» действительно приятно, спасибо, что дали мне знать об этом! 🙂 но это все равно не полный размер изображения, я хочу видеть этот фон как целое изображение, например, когда я помещаю <img src=»img_link»>
Ответ №2:
Изменение background-size: cover;
идентификатора #star_box
на background-size: contain;
#star_box {
background-size: contain;
}