Simply add
position: relative;
to the #content
CSS rule.
CSS:
#content {
background-color: lightyellow;
text-align: middle;
height: 200px;
color: green;
position: relative;
}
#wrapper {
border: 1px solid black;
}
See the updated JSFiddle here.
Edit:
The jQuery plugin for spin.js will take on the color of the parent if you have not already set a color yourself on initialisation. This is because it has this additional functionality built in. In jQuery.spin.js (on line 65):
opts = $.extend(
{ color: color || $this.css('color') },
$.fn.spin.presets[opts] || opts
)
This will pick the color of the parent container and replace the color in the opts
object so that the spinner has the correct color.
If you want to replicate this functionality in standard JavaScript, you could do something like this:
$(document).ready(function () {
var opts = {
lines: 17, // The number of lines to draw
length: 26, // The length of each line
width: 12, // The line thickness
radius: 3, // The radius of the inner circle
corners: 1, // Corner roundness (0..1)
rotate: 0, // The rotation offset
direction: 1, // 1: clockwise, -1: counterclockwise
color: '#000', // #rgb or #rrggbb or array of colors
speed: 1.1, // Rounds per second
trail: 74, // Afterglow percentage
shadow: true, // Whether to render a shadow
hwaccel: false, // Whether to use hardware acceleration
className: 'spinner', // The CSS class to assign to the spinner
zIndex: 2e9, // The z-index (defaults to 2000000000)
top: '50%', // Top position relative to parent in px
left: '50%' // Left position relative to parent in px
};
//$('#content').spin(opts);
var target = document.getElementById('content');
opts.color = getComputedStyle(target).getPropertyValue('color');
var spinner = new Spinner(opts).spin(target);
});
See this updated JSFiddle.