Problems with custom CSS

Navigation arrows not showing inside circles and video popup not scaling

Despite this:

  • The blue circles for the navigation buttons appear, but the white arrows (::after) don’t render.
  • Videos in the popup still sit in the top-left corner instead of filling/centering within the popup.

Could you advise how to properly target the navigation icons and how to get videos to scale correctly in the popup?

Thanks!

:root {
–nf-h: 500px;
}

/\* Media wrapper fixed height */
.eapps-social-feed-post-picture,
.eapps-social-feed-post-picture-inner,
.eapps-social-feed-post-picture-image,
\[class*=“MediaContainer”\],
\[class\*=“PostMedia”\] {
height: var(–nf-h) !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
overflow: hidden !important;
}

/\* Contain images/videos */
.eapps-social-feed-post-picture img,
.eapps-social-feed-post-picture video,
\[class*=“MediaContainer”\] img,
\[class\*=“MediaContainer”\] video {
max-width: 100% !important;
max-height: 100% !important;
object-fit: contain !important;
margin: 0 auto !important;
}

/\* Popup videos \*/
.eapps-social-feed-post-popup video {
max-width: 100% !important;
max-height: 80vh !important;
object-fit: contain !important;
margin: 0 auto !important;
}

/\* Popup arrows \*/
.eapps-social-feed-post-popup .swiper-button-next,
.eapps-social-feed-post-popup .swiper-button-prev {
width: 50px !important;
height: 50px !important;
border-radius: 50% !important;
background: #256bc6 !important;
color: #fff !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
top: 50% !important;
transform: translateY(-50%) !important;
background-image: none !important;
}

/\* White triangle arrow shapes \*/
.eapps-social-feed-post-popup .swiper-button-next::after {
content: “” !important;
border-top: 8px solid transparent;
border-bottom: 8px solid transparent;
border-left: 12px solid #fff;
}

.eapps-social-feed-post-popup .swiper-button-prev::after {
content: “” !important;
border-top: 8px solid transparent;
border-bottom: 8px solid transparent;
border-right: 12px solid #fff;
}
2 Likes

Hi there, @Novoferm :waving_hand:

The issue with the video alignment appeared because of these line in the code:


And the arrow icons didn’t appear because you’ve used [class*="ArrowControl"] and I’ve replaced it with the more precise [class*="ArrowControl__ArrowControlContainer-sc"] here:


Please check your widget and let me know if it’s fine now :slightly_smiling_face:

1 Like

Hi Max, I see that this is indeed working. There’s just one more thing that isn’t functioning properly: the video elements in the popup window. I’d like them to span the full width of the left column. How can I adjust this?

2 Likes

It’s possible, but the video will get cropped in this case. Would you like to proceed with this solution?

1 Like

Hi Max, Maybe we should keep it only in full width? It’s no problem if the video doesn’t completely fill the column, but I think it will look better that way.

2 Likes

Okay, I’ll ask the devs to provide a solution for this and will let you know once I have any news :slightly_smiling_face:

2 Likes

Thank you for waiting!

Here is a final solution from our devs:

/* ===== FEED: 500px hoog, afbeelding volledig (contain) ===== */
:root {
  --nf-h: 500px;
}

.hjxXsz .swiper {
  max-width: 90%;
}

[class*="Popup__PopupContent-sc"] [class*="Columns-sc"]>div:not(:has(video)) {
  display: flex;
  flex-direction: column;
  flex: 1 1 29%;
}

/* kaart mag buitenranden tonen (voor pijlen) */
.eapps-social-feed-post,
[class*="Post"],
[class*="Card"],
[class*="GridItem"],
[class*="Feed__Item"] {
  overflow: visible !important;
}

/* media-wrapper op vaste hoogte + centreren met flex */
.eapps-social-feed-post-picture,
.eapps-social-feed-post-picture-inner,
.eapps-social-feed-post-picture-image,
[class*="MediaContainer"]:not(:has(video)),
[class*="PostMedia"] {
  padding-top: 0 !important;
  height: var(--nf-h) !important;
  min-height: var(--nf-h) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  overflow: hidden !important;
}

/* <img>/<video>: nooit croppen, schaal binnen 500px */
.eapps-social-feed-post-picture img,
.eapps-social-feed-post-picture picture img,
.eapps-social-feed-post-picture video,
[class*="MediaContainer"] img,
/* [class*="MediaContainer"] video, */
[class*="PostMedia"] img,
[class*="PostMedia"] video {
  position: static !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
}

/* background-image varianten */
.eapps-social-feed-post-picture[style*="background"],
.eapps-social-feed-post-picture-inner[style*="background"],
.eapps-social-feed-post-picture-image[style*="background"],
[class*="MediaContainer"][style*="background"],
[class*="PostMedia"][style*="background"] {
  background-size: contain !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  height: var(--nf-h) !important;
  min-height: var(--nf-h) !important;
}

/* inline fixes */
[style*="object-fit: cover"] {
  object-fit: contain !important;
}

[style*="background-size: cover"] {
  background-size: contain !important;
}

[style*="padding-top"] {
  padding-top: 0 !important;
}

/* swiper/slides volgen onze 500px */
.eapps-social-feed-post .swiper,
.eapps-social-feed-post .swiper-wrapper,
.eapps-social-feed-post .swiper-slide,
[class*="Carousel__CarouselSwiper"] {
  height: var(--nf-h) !important;
}

/* ===== FEED: Swiper-pijlen volledig uit ===== */
.eapps-social-feed-post [class*="swiper-button"] {
  display: none !important;
  pointer-events: none !important;
  opacity: 0 !important;
}

/* ===== ELFSIGHT BOLLEN: bol + pijltje als één geheel ===== */
/* verberg eventuele SVG's van Elfsight */
[class*="CarouselArrowControlContainer"] svg,
[class*="ArrowControl__ArrowControlContainer-sc"] svg {
  display: n !important;
}

/* bol basis */
[class*="CarouselArrowControlContainer"] button,
[class*="ArrowControl__ArrowControlContainer-sc"] button {
  position: relative !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 50px !important;
  height: 50px !important;
  border-radius: 50% !important;
  background: #256bc6 !important;
  /* blauwe bol */
  cursor: pointer;
  overflow: visible !important;
}

/* DEBUG: rechts */
[class*="CarouselArrowControlContainer"][class*="Right"] button::after,
[class*="ArrowControl__ArrowControlContainer-sc"][class*="Right"] button::after {
  content: "R" !important;
  /* tijdelijk */
  display: block !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 14px;
  height: 14px;
  background: red !important;
  color: white !important;
  font-size: 10px;
  text-align: center;
  line-height: 14px;
  z-index: 9999 !important;
}

/* DEBUG: links */
[class*="CarouselArrowControlContainer"][class*="Left"] button::after,
[class*="ArrowControl__ArrowControlContainer-sc"][class*="Left"] button::after {
  content: "L" !important;
  /* tijdelijk */
  display: block !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 14px;
  height: 14px;
  background: red !important;
  color: white !important;
  font-size: 10px;
  text-align: center;
  line-height: 14px;
  z-index: 9999 !important;
}

/* positie van de bollen */
[class*="CarouselArrowControlContainer"][class*="Left"],
[class*="ArrowControl__ArrowControlContainer-sc"][class*="Left"] {
  left: -26px !important;
}

[class*="CarouselArrowControlContainer"][class*="Right"],
[class*="ArrowControl__ArrowControlContainer-sc"][class*="Right"] {
  right: -26px !important;
}

[class*="CarouselArrowControlContainer"],
[class*="ArrowControl__ArrowControlContainer-sc"] {
  top: 160px !important;
  transform: none !important;
  z-index: 10 !important;
}

/* mobiel: iets naar binnen */
@media (max-width: 640px) {

  [class*="CarouselArrowControlContainer"][class*="Left"],
  [class*="ArrowControl__ArrowControlContainer-sc"][class*="Left"] {
    left: 8px !important;
  }

  [class*="CarouselArrowControlContainer"][class*="Right"],
  [class*="ArrowControl__ArrowControlContainer-sc"][class*="Right"] {
    right: 8px !important;
  }
}

/* ===== POPUP: afbeeldingen contain + swiper pijlen gecentreerd ===== */
.eapps-social-feed-post-popup .eapps-social-feed-post-picture,
.eapps-social-feed-post-popup .eapps-social-feed-post-picture-inner,
.eapps-social-feed-post-popup .eapps-social-feed-post-picture-image {
  padding-top: 0 !important;
  height: auto !important;
  min-height: 0 !important;
}

.eapps-social-feed-post-popup .eapps-social-feed-post-picture img,
.eapps-social-feed-post-popup .eapps-social-feed-post-picture picture img,
.eapps-social-feed-post-popup .eapps-social-feed-post-picture video,
.eapps-social-feed-post-popup .eapps-social-feed-post-picture-image img,
.eapps-social-feed-post-popup .eapps-social-feed-post-picture-image video {
  position: static !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 80vh !important;
  object-fit: contain !important;
  margin: 0 auto !important;
}

.eapps-social-feed-post-popup .swiper-button-next,
.eapps-social-feed-post-popup .swiper-button-prev {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.4);
  color: #fff;
  top: 50% !important;
  transform: translateY(-50%) !important;
}

/***** 1) PROBE: laat zien of we de knoppen raken *****/
[class*="CarouselArrowControlContainer"] button,
[class*="ArrowControl__ArrowControlContainer-sc"] button {
  outline: 3px solid fuchsia !important;
  /* PROBE */
}

.eapps-social-feed-post .swiper-button-next,
.eapps-social-feed-post .swiper-button-prev {
  outline: 3px dashed lime !important;
  /* PROBE */
}

/***** 2) ZET SWIPER-PIJLEN WEER AAN (we override de hide-regel) *****/
.eapps-social-feed-post [class*="swiper-button"] {
  display: flex !important;
  pointer-events: auto !important;
  opacity: 1 !important;
}

/* ZEKER WETEN: verwijder eventuele iconen/achtergronden van Swiper */
.eapps-social-feed-post .swiper-button-next,
.eapps-social-feed-post .swiper-button-prev {
  width: 50px !important;
  height: 50px !important;
  border-radius: 50% !important;
  background: #256bc6 !important;
  /* blauwe bol */
  color: #fff !important;
  align-items: center !important;
  justify-content: center !important;
  display: flex !important;
  top: 160px !important;
  /* gelijk aan jouw custom positie */
  transform: none !important;
  z-index: 20 !important;
  background-image: none !important;
  /* haal eventuele default icons weg */
  box-shadow: none !important;
}

/* posities links/rechts */
.eapps-social-feed-post .swiper-button-prev {
  left: -26px !important;
}

.eapps-social-feed-post .swiper-button-next {
  right: -26px !important;
}

/* mobiel iets naar binnen */
@media (max-width: 640px) {
  .eapps-social-feed-post .swiper-button-prev {
    left: 8px !important;
  }

  .eapps-social-feed-post .swiper-button-next {
    right: 8px !important;
  }
}

/***** 3) BORDER-TRIANGLE PIJLEN OP DE SWIPER-KNOPPEN *****/
/* Rechts (›) */
.eapps-social-feed-post .swiper-button-next::after {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-40%, -50%) !important;
  /* iets naar rechts in de bol */
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 12px solid #fff;
}

/* Links (‹) */
.eapps-social-feed-post .swiper-button-prev::after {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-60%, -50%) !important;
  /* iets naar links in de bol */
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-right: 12px solid #fff;
}

/* Hover (optioneel, netter gevoel) */
.eapps-social-feed-post .swiper-button-next:hover,
.eapps-social-feed-post .swiper-button-prev:hover {
  filter: brightness(1.08) !important;
}

/* ===== POPUP: media netjes 'contain' + gecentreerd ===== */
.eapps-social-feed-post-popup .eapps-social-feed-post-picture,
.eapps-social-feed-post-popup .eapps-social-feed-post-picture-inner,
.eapps-social-feed-post-popup .eapps-social-feed-post-picture-image,
.eapps-social-feed-post-popup [class*="MediaContainer"],
.eapps-social-feed-post-popup [class*="PostMedia"] {
  padding-top: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #000;
  /* optioneel: zwarte balken */
}

/* <video> binnen popup: volledige video zichtbaar */
.eapps-social-feed-post-popup video {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 80vh !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
  margin: 0 auto !important;
}

/* iframes (YouTube/Vimeo/LinkedIn) ook 'contain' */
.eapps-social-feed-post-popup iframe {
  display: block !important;
  border: 0 !important;
  margin: 0 auto !important;
  aspect-ratio: 16 / 9;
  width: min(100%, calc(80vh * (16 / 9))) !important;
  height: auto !important;
  max-height: 80vh !important;
}

/* inline styles van bronnen forceren naar contain */
.eapps-social-feed-post-popup [style*="object-fit: cover"] {
  object-fit: contain !important;
}

.eapps-social-feed-post-popup [style*="background-size: cover"] {
  background-size: contain !important;
}

.eapps-social-feed-post-popup [style*="padding-top"] {
  padding-top: 0 !important;
}

/* Swiper in popup: laat de slides zich centreren en niet forceren op vaste hoogte */
.eapps-social-feed-post-popup .swiper,
.eapps-social-feed-post-popup .swiper-wrapper,
.eapps-social-feed-post-popup .swiper-slide {
  height: auto !important;
  align-items: center !important;
  display: flex !important;
}

/* Pijlen in popup: midden op de media */
.eapps-social-feed-post-popup .swiper-button-next,
.eapps-social-feed-post-popup .swiper-button-prev {
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 50px !important;
  height: 50px !important;
  border-radius: 50% !important;
  background: #256bc6 !important;
  color: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-image: none !important;
}

/* pijlpuntjes */
.eapps-social-feed-post-popup .swiper-button-next::after,
.eapps-social-feed-post-popup .swiper-button-prev::after {
  content: "" !important;
}

.eapps-social-feed-post-popup .swiper-button-next::after {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 12px solid #fff;
}

.eapps-social-feed-post-popup .swiper-button-prev::after {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-right: 12px solid #fff;
}

[class*="MediaVideo__Player-sc"] {
  height: 100% !important;
}

Please replace your current CSS code with the new one and let me know if you like the result :slightly_smiling_face:

1 Like

Hi Max,

Thank you! It works perfectly, great job. I’m really happy with the result. :slight_smile:

1 Like

Amazing, you’re always welcome!

By the way, we’d like to invite you to participate in our September Contest, where you can win a 6-month extension for your subscription - September Contest: Best AI Feature Ideas Win 6 Months FREE!:wrapped_gift:

Check the details and join in :wink: