I'm trying to style a simple countdown timer - but I've hit an issue that I don't understand.
I'm getting space between two inline-divs (the ones with green borders) that I don't want. Looking at the CSS in in Chrome's "Inspect Element" I can't see where it is coming from - nor can I get rid of it.

I notice that the green borders change on the first timer interval too - anyone know why this is and how I can stop it? How can I manage the space in between these 2 divs?
Ultimately I want something like the codecanyon timers but I don't expect anyone to provide me with the full CSS for that, just help me understand the above issues.
I am using Google Chrome Version 23.0.1271.95m.
Code from the fiddle example:
Html.
<div id="timer1-wrapper">
<div class="timer">
<div class="timer-values-wrapper">
<div class="timer-value-wrapper">
<div class="minutes-value-1">
1
</div>
<div class="minutes-value-2">
4
</div>
</div>
<span>minutes</span>
</div>
<div class="timer-values-wrapper">
<div class="timer-value-wrapper">
<div class="seconds-value-1">
5
</div>
<div class="seconds-value-2">
9
</div>
</div>
<span>seconds</span>
</div>
</div>
</div>
Javascript.
var minutes = 14;
var seconds = 59;
var secondsTimer = setInterval(function () {
seconds--;
if (seconds < 0) {
if (minutes == 0) {
clearInterval(secondsTimer);
alert('Time is up');
return false;
}
else {
minutes -= 1;
var minutesString = minutes < 10 ? '0' + minutes.toString() : minutes.toString();
$('.minutes-value-1').text(minutesString.substr(0, 1));
$('.minutes-value-2').text(minutesString.substr(1, 1));
seconds = 59;
}
}
var secondsString = seconds < 10 ? '0' + seconds.toString() : seconds.toString();
$('.seconds-value-1').text(secondsString.substr(0, 1));
$('.seconds-value-2').text(secondsString.substr(1, 1));
}, 1000);
CSS.
.timer {
border: 1px solid Red;
font-family: "Trebuchet MS", "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Tahoma, sans-serif;
}
.timer-values-wrapper {
border: 1px solid Blue;
font-size: 4em;
}
.timer-values-wrapper span {
border: 1px solid Black;
font-size: 0.5em;
}
.timer-value-wrapper {
border: 1px solid Purple;
}
.timer-value-wrapper div {
border: 1px solid Green;
display: inline;
}
When you have two inline elements whitespace in the markup is whitespace on the screen. If you change your markup to <div style="white-space: nowrap;" class="timer-value-wrapper"><div class="seconds-value-1">4</div><div class="seconds-value-2">3</div></div> with no whitespace in the markup then the space goes away. Your other option is to use floating divs or the likes.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With