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



我想寻求有关如何使倒数计时器响应的帮助。每次缩放窗口大小时,它仍将在笔记本背景图像的中心对齐。我还不太熟悉媒体查询。另外,我发现将两者对齐很棘手,因为纸张设计嵌入在背景图像上。

(在编辑中添加了这个) 我也忘了问和提及。 在此代码中,它工作正常(几乎)。我只需要提到我在我的 css 上声明了其他 p{}。所以我也想问我如何专门针对 .bg p{} ?因为似乎我的 CSS 中的前一个 p{} 也会影响倒计时 IM 正在处理

这是代码.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);

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

代码笔

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

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

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

添加此附加代码

    <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;

}

尝试更新 css 样式

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

对于"p"

.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%);

}

相关内容

  • 没有找到相关文章

最新更新