I shouldn’t be using negative margins.
I’m going to keep working on this…
.wrapg .b {
display: block;
margin: -202px -50px 4px 201px;
}
.wrapg .c {
display: block;
margin: -202px 0 4px 402px;
}
I shouldn’t be using negative margins.
I’m going to keep working on this…
.wrapg .b {
display: block;
margin: -202px -50px 4px 201px;
}
.wrapg .c {
display: block;
margin: -202px 0 4px 402px;
}
I tried this, this doesn’t look right.
.wrapg .a {
display: inline-block;
margin: 0 0 4px 0;
}
.wrapg .b {
display: inline-block;
margin: 0 0 4px -1px;
}
.wrapg .c {
display: inline-block;
margin: -150px 0 4px 402px;
}
Using float works, would this be right? @PaulOB
.wrapg .b {
float: left;
width: 198px;
height: 198px;
margin: 0 3px 12px 0;
}
.wrapg .c {
float: left;
width: 198px;
height: 198px;
margin: 0 3px 5px 0;
}
<img src="https://via.placeholder.com/198x198" alt="" >
<img src="https://via.placeholder.com/198x198" alt="" class="b">
<img src="https://via.placeholder.com/198x198" alt="" class="c">
or like this:
.wrapg .b, .c {
float: left;
width: 198px;
height: 198px;
margin: 0 3px 0 0;
}
or like this:
.wrapg .b {
float: middle;
width: 198px;
height: 198px;
margin: 0 -1px;
}
.wrapg .c {
float: right;
width: 198px;
height: 198px;
margin: auto;
}
You’re code is all over the place so I’m just going to restart from scratch (you can fill in the missing parts later):
First, you want to group all like elements together in a div
. This makes styling infinitely easier. As a rule of thumb, if you’re positioning lots of elements by manipulating their positions to down to the pixel then you’re likely doing it wrong.
Basically what you’re doing is this:
<div class="wrapg">
<img>
<img>
<img>
<div class="video">...</div>
<div id="thevideo">...</div>
<div class="video">...</div>
<div id="thevideob">...</div>
<div class="video">...</div>
<div id="thevideoc">...</div>
</dvi>
So let’s clean it up so that everything’s grouped together. We’ll also remove the ID’s and rename the classes to make more sense.
We’ll rename the videos so that .video
becomes .play-button
, and #thevideo|b|c
each become .video
.
<div class="wrap">
<div class="video-block">
<img class="video-cover" src="https://via.placeholder.com/198x198">
<div class="video">...</div>
<div class="play-button">...</div>
</div>
<div class="video-block">
<img class="video-cover" src="https://via.placeholder.com/198x198">
<div class="video">...</div>
<div class="play-button">...</div>
</div>
<div class="video-block">
<img class="video-cover" src="https://via.placeholder.com/198x198">
<div class="video">...</div>
<div class="play-button">...</div>
</div>
</div>
Because the .video
, .play-button
, and .video-cover
are each inside a .video-block
, and since all .video-blocks
are effectively the same, we can simplify the styles to just:
.video-block {
position: relative; /* if you don't use this, then absolutely-positioned children elements will be positioned absolutely relative to the document, not this element! */
float: left;
border: 4px solid #00f;
border-right: 0; /* If we don't do this, then you'll get double-borders around the center block. Delete it to see what I mean. */
}
/* We removed all right borders, so add it back in only for the last block */
.video-block:last-child {border-right: 4px solid #00f;}
.video, .play-button {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%
}
/* Finally, let's clear the floats so that content underneath the wrap is pushed down. Try adding content after the block and deleting this so you can see what I mean */
.wrap:after {
content: '';
clear: both;
}
Here’s an example fiddle to get you started, there’s still some minor things you can fix but if you need help just ask, this was a lot to write : https://jsfiddle.net/cvLyj0xo/1/
This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.