javascript - 在 div 中相对于 div 定位图像

标签 javascript jquery html css

我正在尝试创建一个显示时间的页面。 我使用的字体的“:”很难看,所以我想用图像替换它。 但是,当时间从 9:59 变为 10:00 时,会出现间距问题。 这是我的一些代码:

.image{
    position: absolute;
    width:30px; height:90px; 
    background-image: url("2dots.png");
    background-repeat: no-repeat;
    background-size:50%;margin-top:30px;
    left:50%;
    margin-left:-49px;
    z-index:-1;
}
#time { 
    font-size: 99px; 
    width:300px;
    left:50%; 
    margin-top:0px;
    margin-left:-40px;
}
<div id="time"><div class="image"></div></div>
function updateClock() //updates time ever second inside #time every second

最佳答案

你真的不想玩弄这样的定位。

你应该只设置 .imagedisplay: inline-block ,然后将其置于小时和分钟之间:

.image{
    width:30px;
    height:90px; 
    background-image: url("2dots.png");
    background-repeat: no-repeat;
    background-size:50%;
}
<div id="time">
    <span id="hours">12</span>
    <div class="image"></div>
    <span id="minutes">30</span>
</div>

然后,只需在适当的跨度内设置当前时间的小时/分钟即可。
当然,如果需要,您可以在其后添加秒数。

但是,另一种选择是使用 <span>显示不同的字体,只是冒号:

span{
    font-family: Arial;
}
.colon{
    font-family: Tahoma;
}
<div id="time">
    <span id="hours">12</span><span class="colon">:</span><span id="minutes">30</span>
</div>
(Normal colon : )

或者,来自 @Paulie_Dsuggestion :

span{
    font-family: Arial;
}
#hours:after{
    content: ':';
    font-family: Tahoma;
}
<div id="time">
    <span id="hours">12</span><span id="minutes">30</span>
</div>
(Normal colon : )

关于javascript - 在 div 中相对于 div 定位图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26604885/

相关文章:

javascript - Nightwatchjs获取多个输入的值

javascript - 在 Jquery 或 Javascript 中调用方法的无限循环的正确方法是什么?

javascript - 无法让 "disallowSpacesInsideParentheses"工作

javascript - 在光滑的 slider 中居中图像

javascript - 拆分数组中的字符串

javascript - 无法在 IE 中附加 "used"DOM 对象

html - 为什么页面显示 "scroll memory"?

php - 如何在 Yii2 中获取视频文件输入的持续时间、大小和维度?

javascript - HTML 单选按钮

javascript - 有没有办法从 JavaScript 文件中获取所有导出的名称?