将数字图像固定在悬挂板上,而不会失去响应能力

时间:2018-10-15 11:12:19

标签: javascript html css html5 css3

我有一个 numberdisplay 类,我想在处理板上显示数字。

我有下面的代码,它们在响应中的名称面板中精确地显示了九个框。

  

我的问题是 numberdisplay 的数字没有显示在挂板上,并且没有响应,并且是固定的,当窗口调整大小时会更改对齐方式。

我希望numberdisplayedfixed在悬挂板中,并且应该有所反应。

如何做到这一点以及如何实现呢?

.box {
  width: calc(33.3% - 4px);
  display: inline-block;
  border-radius: 5px;
  border: 2px solid #333;
  border: #000 border-color: #e6e600;
  margin: -2px;
  border-radius: 10%;
  background-color: #99ffff;
}

.numberdisplay {
  margin-left: 73.99%;
  margin-top: 20%;
  margin-bottom: 100%;
  background-color: #ffff00 2px;
  border: px solid #000066;
}

.containerr {
  border: px solid #FF3399;
}

.pic {
  background-size: 100% 100%;
}

p {
  font: "Courier New", Courier, monospace;
  color: #000000;
  text-align: center;
}

body {
  background-image: url(https://image.ibb.co/eV5WW9/background.jpg);
  background-size: 100vw 100vh;
}

.box {
  height: 15vh;
  display: inline-flex;
  align-items: center;
  justify-content: center
}

.container2 {
  width: 35vw;
  position: fixed;
  top: 41.5vh;
  left: 14vw;
}

.box p {
  font-size: calc(2vw + 10px);
}
<div class="container2">
  <div class="containerr">
    <div class="pic" id="content">
      <div id="container">
        <div class="box" id="10">
          <p name="values" data-item-index="0">1:40</p>
        </div>
        <div class="box" id="11">
          <p name="values" data-item-index="7">8:10</p>
        </div>
        <div class="box" id="12">
          <p name="values" data-item-index="4">5:35</p>
        </div>
      </div>
      <div id="2container">

        <div class="box" id="10">
          <p name="values" data-item-index="11">12:50</p>
        </div>
        <div class="box" id="11">
          <p name="values" data-item-index="9">10:40</p>
        </div>
        <div class="box" id="12">
          <p name="values" data-item-index="11">12:50</p>
        </div>
      </div>
      <div id="3container">

        <div class="box" id="10">
          <p name="values" data-item-index="0">1:40</p>
        </div>
        <div class="box" id="11">
          <p name="values" data-item-index="3">4:45</p>
        </div>
        <div class="box" id="12">
          <p name="values" data-item-index="2">3:50</p>
        </div>
      </div>
    </div>
  </div>
</div>
<div class="numberdisplay" id="2">
  <img src="https://via.placeholder.com/75x75?text=11" style="width:160px; height:160px; border-radius: 50%;" border="rounded" />
</div>

1 个答案:

答案 0 :(得分:0)

我想不出任何方法来使用CSS或JS计算图像部分的widthheight

但是,我可以通过反复试验方法进行计算,结果表明悬挂板始终是背景宽度的0.16%

在CSS中所做的更改:

/* for .numberdisplay */
margin-left: 72.5%;
margin-top: 16%;

/* for body */
background-size: 100vw auto;

JavaScript:

var body = document.querySelector('body');
var number11 = document.querySelector('.numberdisplay img');

function changeSize() {
  var length = parseInt(window.getComputedStyle(body, null).width) * 0.16; // based on hit and trial

  number11.style.height = length + 'px';
  number11.style.width = length + 'px';
}

window.onresize = changeSize;
changeSize();

我曾经使用window.getComputedStyle(Element, null).property来检索身体的宽度。

Here is a Pen,将显示响应速度。