#javascript #html #css #image
Вопрос:
это выход из этого кода
когда экран перепечатывается, он ломается
Как динамически уменьшить размер в соответствии с размером экрана, когда я изменяю размер окна браузера, изображение разрывается, как показано на рисунке 2.Как динамически изменять размер изображения, не нарушая его.Как изменить css, чтобы получить желаемый результат.
<!DOCTYPE html>
<html>
<head>
<script src="https://kit.fontawesome.com/50b310a6f3.js" crossorigin="anonymous">
</script>
<title>status bar</title>
<style>
body{
background-position: center;
font-family: sans-serif;
/* position:fixed; */
height :100% ;
width: 100%;
}
.progress img{
width: 90px;
margin-bottom: 20px ;
}
.progress {
margin: 300px auto;
/* position:fixed; */
/* width :100% ; */
}
ul{
text-align: center;
}
/* ul li{
display: inline-block;
width: 196px;
position: relative;
} */
.one {
display: inline-block;
width: 196px;
position: relative;
}
.two {
display: inline-block;
width: 196px;
position: relative;
}
.three {
display: inline-block;
width: 196px;
position: relative;
top: 23.5px;
}
.four {
display: inline-block;
width: 196px;
position: relative;
}
.five {
display: inline-block;
width: 196px;
position: relative;
}
ul li img{
width: 40px;
height: 95px;
}
/* .imageThree {
width: 40px;
height: 95px;
} */
ul li .fas{
background: #ccc;
width: 16px;
height: 16px;
color: #fff;
border-radius: 50%;
padding: 5px;
}
ul li .fas::after {
content: '';
background: #ccc;
height: 5px;
width: 200px;
display: block;
position: absolute;
left: 0;
top: 130px;
z-index: -1;
}
ul .two .fas{
background: #01dcdc;
}
.imageThree {
-webkit-filter: grayscale(100%); /* Safari 6.0 - 9.0 */
filter: grayscale(100%);
}
.imageFour {
-webkit-filter: grayscale(100%); /* Safari 6.0 - 9.0 */
filter: grayscale(100%);
}
.imageFive {
-webkit-filter: grayscale(100%); /* Safari 6.0 - 9.0 */
filter: grayscale(100%);
}
/* .fasThree{
background: #01dcdc;
} */
ul .two .fas::after {
background: #01dcdc;
}
/* ul li:nth-child(3) .fas::after {
background: #01dcdc;
} */
ul li:nth-child(1) .fas
{
background: #53AD8B;
}
ul li:nth-child(1) .fas::after
{
background: #53AD8B;
}
</style>
</head>
<body>
<div class="progress" contenteditable="true">
<ul>
<li class="one">
<img id="imageOne" class="imageOne" src="1.png"><br>
<i id="iconOne" class="fas fa-check"></i>
<p id="textOne" style="font-size:70%;">Application registered with
Cynapse</p>
</li>
<li class="two">
<img id="imageTwo" class="imageTwo" src="2.png"><br>
<i id="iconTwo" class="fas fa-sync"></i>
<p id="textTwo" style="font-size:70%;">Account creation completed on
Cashe</p>
</li>
<li class="three">
<img id="imageThree" class="imageThree" src="3.png"><br>
<i id="iconThree" class="fas fa-calculator"></i>
<p id="textThree" style="font-size:70%;">Cynapse estimates a High/low/medium
probability of securing your loan with Cashe</p>
</li>
<li class="four">
<img id="imageFour" class="imageFour" src="4.png"><br>
<i id="iconFour" class="fas fa-tasks"></i>
<p id="textFour" style="font-size:70%;">Complete final step in Cashe App</p>
</li>
<li class="five">
<img id="imageFive" class="imageFive" src="5.png"><br>
<i id="iconFive" class="fas fa-university"></i>
<p id="textFive" style="font-size:70%;">Loan disbursed</p>
</li>
</ul>
<!-- <button onclick="myFunction()">press</button> -->
</div>
<script>
var json_received = {
"Sheet1": [
{
"Status": "1",
"Image1": "1.png",
"Text1": "Application Received Test",
"Image2": "2.png",
"Text2": "Sent to partner",
"Image3": "3.png",
"Text3": "Cynapse estimates a High/low/medium probability of securing your
loan with Cashe",
"Image4": "4.png",
"Text4": "Processing by partner",
"Image5": "2.png",
"Text5": "Processing by partner"
}
]
};
// function myFunction(){
window.onload = function(){
// var id = window.prompt("Enter the process id: ");
// alert("you are under process " id);
// if(id ==0)
// {
// var a = document.getElementById('css');
// a.href = "style.css";
// document.getElementById("iconOne").className = "fas fa-sync";
// }
jsonDataStr = JSON.stringify(json_received);
json = JSON.parse(jsonDataStr);
var status = json.Sheet1[0].Status;
console.log(status);
if(status ==1)
{
// jsonDataStr = JSON.stringify(json_received);
// json = JSON.parse(jsonDataStr);
//TEXT element
console.log(json.Sheet1[0].Text1);
var paraOne = document.getElementById("textOne");
paraOne.innerHTML = json.Sheet1[0].Text1;
console.log(paraOne.innerHTML);
console.log(document.getElementById("imageOne").src);
document.getElementById("imageOne").src = json.Sheet1[0].Image1;
var a = document.getElementById('css');
a.href = "style2.css";
document.getElementById("iconOne").className = "fas fa-check";
document.getElementById("iconTwo").className = "fas fa-sync";
}
if(status==2)
{
var paraTwo = document.getElementById("textTwo");
paraTwo.innerHTML = json.Sheet1[0].Text1;
console.log(paraTwo.innerHTML);
console.log(document.getElementById("imageTwo").src);
document.getElementById("imageTwo").src = json.Sheet1[0].Image2;
var a = document.getElementById('css');
a.href = "style3.css";
document.getElementById("iconOne").className = "fas fa-check";
document.getElementById("iconTwo").className = "fas fa-check";
document.getElementById("iconThree").className = "fas fa-sync";
}
if(status==3)
{
var paraThree = document.getElementById("textThree");
paraThree.innerHTML = json.Sheet1[0].Text3;
console.log(paraThree.innerHTML);
console.log(document.getElementById("imageThree").src);
document.getElementById("imageThree").src = json.Sheet1[0].Image3;
var a = document.getElementById('css');
a.href = "style4.css";
document.getElementById("iconOne").className = "fas fa-check";
document.getElementById("iconTwo").className = "fas fa-check";
document.getElementById("iconThree").className = "fas fa-check";
document.getElementById("iconFour").className = "fas fa-sync";
}
if(status==4)
{
var paraFour = document.getElementById("textFour");
paraFour.innerHTML = json.Sheet1[0].Text4;
console.log(paraFour.innerHTML);
console.log(document.getElementById("imageFour").src);
document.getElementById("imageFour").src = json.Sheet1[0].Image4;
var a = document.getElementById('css');
a.href = "style5.css";
document.getElementById("iconOne").className = "fas fa-check";
document.getElementById("iconTwo").className = "fas fa-check";
document.getElementById("iconThree").className = "fas fa-check";
document.getElementById("iconFour").className = "fas fa-check";
document.getElementById("iconFive").className = "fas fa-sync";
}
if(status==5)
{
var paraFive = document.getElementById("textFive");
paraFive.innerHTML = json.Sheet1[0].Text5;
console.log(paraFive.innerHTML);
console.log(document.getElementById("imageFive").src);
document.getElementById("imageFive").src = json.Sheet1[0].Image5;
var a = document.getElementById('css');
a.href = "style6.css";
document.getElementById("iconOne").className = "fas fa-check";
document.getElementById("iconTwo").className = "fas fa-check";
document.getElementById("iconThree").className = "fas fa-check";
document.getElementById("iconFour").className = "fas fa-check";
document.getElementById("iconFive").className = "fas fa-check";
}
}
</script>
</body>
</html>
Ответ №1:
Попробуй вот так:
<html>
<head>
<style>
* {
margin: 0;
padding: 0;
}
.imgbox {
display: grid;
height: 100%;
}
.center-fit {
max-width: 100%;
max-height: 100vh;
margin: auto;
}
</style>
</head>
<body>
<div class="imgbox">
<img class="center-fit" src='pic.png'>
</div>
</body>
</html>
Комментарии:
1. Пожалуйста, предоставьте хотя бы минимальное объяснение, чтобы это не было решением для копирования и вставки.
Ответ №2:
Вы можете попробовать это в качестве своего html-текста:
<div id='dynamicText'>This is my text text</div>
И это для вашего javascript:
<script>
var start_size = 16;
document.querySelector('#dynamicText').style.fontSize = `${start_size}em`;
addEventListener('resize', ()=>{
let prop = window.innerHeight/screen.height;
document.querySelector('#dynamicText').style.fontSize = `${prop*start_size}em`;
});
</script>
Просто объяснил экран.высота-это фактический максимальный размер вашего экрана, а внутренняя высота-текущий размер. Вы можете использовать их для создания пропорций для отображаемых размеров шрифта.
Комментарии:
1. И кроме того, вы можете изменить это в соответствии с вашим контекстом (атрибут стиля CSS), указав, что вы хотите изменить в зависимости от размера экрана.