I'm new to web development and I'm making a website for my friend. A ll I want to do is have their coverart over their soundcloud playlist and have both of these divs the same size and centered vertically and horizontally on the page. I've searched all over google and stackoverflow but none of the answers have been working for me. The divs continue to be shown in the bottom right of the page. I just can't seem to get it right.
#playlist {
position: absolute;
top:50%;
left:50%;
width:500px;
height:500px;
margin-top: -250px
margin-left: -250px;
z-index:1;
margin: 0 auto;
}
#artwork {
position:absolute;
top:50%;
left:50%;
width:500px;
height:500px;
margin-top:-250px;
margin-left -250px;
z-index:2;
margin: 0 auto;
background-color:red; /*only to show hover*/
}
#artwork:hover {
opacity:0;
}
#container{
position: relative;
height:500px;
width:500px;
top:0;
bottom: 0;
left: 0;
right: 0;
}
<!doctype html>
<html>
<head>
<title>VOUDOUX</title>
<meta charset="utf-8" />
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
</head>
<body style="background-color:black">
<div id="container">
<div id="playlist">
<iframe width="100%" height="100%" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/playlists/125549903&color=ff5500&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false"></iframe>
</div>
<div id="artwork"><img src="images/Vices2.jpg" alt="coverart" style="width:100%;height:100%;"></div>
</div>
</body>
</html>
Based off of Daniel D's answer and your comment to his answer.
I've removed the margin: 0 auto
from both #playlist
and #artwork
in favor of:
top: 50%;
left: 50%;
transform: translateX(-50%) translateY(-50%);
Also by setting #container
to 100% width
and height
of the body
you can center the playlist and artwork elements inside the entire page. Don't forget to set the width
and min-height
of html,body
or #container
won't know what to take up 100% of!
To see the best results you'll need to run the snippet in Full Page mode.
#playlist {
position: absolute;
top: 50%;
left: 50%;
width: 500px;
height: 500px;
z-index: 1;
transform: translateX(-50%) translateY(-50%);
}
#artwork {
position: absolute;
top: 50%;
left: 50%;
width: 500px;
height: 500px;
z-index: 2;
transform: translateX(-50%) translateY(-50%);
background-color: red;
/*only to show hover*/
}
#artwork:hover {
opacity: 0;
}
html,
body {
width: 100%;
height: 100%;
margin: 0;
}
#container {
position: relative;
width: 100%;
height: 100%;
}
<body style="background-color:black">
<div id="container">
<div id="playlist">
<iframe width="100%" height="100%" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/playlists/125549903&color=ff5500&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false"></iframe>
</div>
<div id="artwork">
<img src="images/Vices2.jpg" alt="coverart" style="width:100%;height:100%;">
</div>
</div>
</body>