响应倒计时与背景图像对齐

时间:2017-10-12 05:42:42

标签: javascript css media-queries jquery-countdown

我想寻求帮助,让我可以将倒数计时器变为响应状态。每当您缩放窗口大小时,它仍然会在中心的笔记本背景图像内部对齐。我还不熟悉媒体查询。此外,由于纸张设计嵌入在背景图像中,因此我发现将两者对齐非常棘手。

(在编辑中添加此内容) 我也忘了提问。在这段代码中它可以正常工作(差不多)。我只需要提一下我在我的CSS上声明了其他p {}。所以我想问一下我如何专门针对.bg p {}?因为看起来,我的CSS中的前一个p {}也影响了我正在进行的倒计时

这是代码 的 HTML

<div class="bg">
<p id="countdown"> </p>
</div>

CSS

.bg {
    background-image: url('http://thefeministmegaphone.com/wp-content/uploads/2016/12/893146-notebook-wallpaper.jpg');
    background-size: 100%;
    background-repeat: no-repeat;
    position:fixed;
    width:100%;
    height:100%;
    left:0;
    top:0;
    text-align:center;
}
p#countdown {
    transform: rotate(-5deg);
    display:block;
    color: #333;
    font-size: 65px;
    font-family:times;
    margin: auto;
    width: 60%;
    padding: 10px;
    top:50%;
}
@media screen and (width: 800px) {
  .bg p {
    font-size: .8em;
  }

JS

 // Set the date we're counting down to
var countDownDate = new Date("Oct 14, 2017 10:00:00").getTime();

// Update the count down every 1 second
var x = setInterval(function() {

// Get todays date and time
var now = new Date().getTime();

// Find the distance between now an the count down date
var distance = countDownDate - now;

// Time calculations for days, hours, minutes and seconds
var days = Math.floor(distance / (1000 * 60 * 60 * 24));
var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((distance % (1000 * 60)) / 1000);

// Output the result in an element with id="countdown"
document.getElementById("countdown").innerHTML = days + "d " + hours + "h "
+ minutes + "m " + seconds + "s ";

// If the count down is over, write some text 
if (distance < 0) {
    clearInterval(x);
    document.getElementById("countdown").innerHTML = "EXPIRED";
}
}, 1000);

3 个答案:

答案 0 :(得分:0)

添加此附加代码

    <div class="bg">
    <p class="makecenter" id="countdown"> </p>
    </div>

CSS更改:

.makecenter {
height: 150px;
width: 500px;
position: fixed;
top: 50%;
left: 50%;
margin-top: -100px;
margin-left: -200px;

}

答案 1 :(得分:0)

我在下面创建了一个可待因。

CODEPEN

可能是一种更好的方法,但是我已经使用了百分比来获得正确的对齐方式,并对字体使用了em测量值。

您可以使用多个断点(1024px等)来调整大小以适应。

@media screen and (max-width: 768px) {
  .bg p {
    margin-top: 20%;
    font-size: 2em;
  }

答案 2 :(得分:0)

尝试更新css样式

.bg { ... background-size: cover; /* if dimension of element is not matching with image, else you can use 'contain' */ }

用于&#39; p&#39;

.bg > p {
position: relative;
color: #333;
font-size: 350%; // change font-size accordingly.
text-align: center;
margin: 0;
top: 40%; // change position accordingly
left: 50%; // change position accordingly
transform: rotate(-5deg) translate(-55%, -50%);

}