Background video on mobile device has a black border at the bottom

Topic summary

A background video displays correctly on desktop but shows an unwanted black border at the bottom on mobile devices.

Initial Troubleshooting:

  • User shared Liquid code for video background implementation
  • Provided store URL (funkyflux.com) for diagnosis

Proposed Solutions:

Solution 1 (Made4uo-Ribe):

  • Add CSS to base.css/style.css/theme.css:
    • .videoBackground .videoBox { justify-content: center !important; }
    • .videoBackground .videoBoxInfo { padding: 0px !important; } (for max-width: 767px)
  • Marked as working for desktop

Solution 2 (PageFly-Henry):

  • Insert CSS in theme.liquid before </body> tag:
    • @media (max-width: 767px) { .videoBoxInfo { padding: 0 !important; } .videoBox { min-height: 300px !important; } }

Current Status:
The issue persists on mobile devices despite the first solution working on desktop. The original poster confirmed the black border remains after implementing the initial CSS fix. A second solution has been proposed but not yet confirmed as resolved.

Summarized with AI on November 13. AI used: claude-sonnet-4-5-20250929.

Does anybody have a solution for this problem? The background video works just fine on desktop. However, on mobile device, it has this black border at the bottom that I cannot find a way to remove. Thanks.

This is the code I am using:

{%- if section.blocks.size > 0 -%}
{%- for block in section.blocks -%}
{%- assign img_url = block.settings.image | img_url: ‘1x1’ | replace: ‘1x1.', '{width}x.’ -%}

{% if block.type == ‘video’ %}

{%- if block.settings.video_link != blank -%}

{% endif %}
{% if block.settings.title != blank %}

{{ block.settings.title | escape }}

{% endif %}

{%- style -%}
.videoBackground .imageBoxInfoDescription p {
color: {{ block.settings.color_text }}!important;
}
{%- endstyle -%}

{% if block.settings.text != blank %}

{{ block.settings.text }}
{% endif %}

{% if block.settings.button_link != blank and block.settings.button_label != blank %}

{{ block.settings.button_label | escape }}

{% endif %}

{% else %}
{% if block.settings.title != blank %}

{{ block.settings.title | escape }}

{% endif %}

{%- style -%}
.videoBackground .imageBoxInfoDescription p {
color: {{ block.settings.color_text }}!important;
}
{%- endstyle -%}

{% if block.settings.text != blank %}

{{ block.settings.text }}
{% endif %}

{% if block.settings.button_link != blank and block.settings.button_label != blank %}

{{ block.settings.button_label | escape }}

{% endif %}

{% endif %} {%- endfor -%}

{% else %}

This section doesn’t currently include any content. Add content to this section using the sidebar.
{%- endif -%} body.template-index .main-content .videoBackground { margin-top: -55px; } .videoBackground { position: relative; } .videoBackground .fullscreen-video-wrap { position: absolute; top: 0; left: 0; min-width: 100%; width: 100%; height: 100%; overflow: hidden; } .videoBackground .fullscreen-video-wrap .video-js { position: absolute; top: 0; left: 0; min-height: 100%; min-width: 100%; width: 100%; height: 100%; object-fit: cover; } .videoBackground .fullscreen-video-wrap video { min-height: 100%; min-width: 100%; object-fit: cover; } .videoBackground .videoBox { display: flex; align-items: center; justify-content: flex-end; flex-direction: column; padding: 100px 20px 80px; background-size: cover; background-position: center; background-repeat: no-repeat; min-height: 500px; max-height: 800px; height: calc(100vh - 165px); position: relative; } .videoBackground .imageBox { display: flex; align-items: center; justify-content: flex-end; flex-direction: column; padding: 100px 20px 80px; background-size: cover; background-position: center; background-repeat: no-repeat; position: relative; min-height: calc(100vh - 165px); height: auto; } .videoBackground .videoBoxInfo, .videoBackground .imageBoxInfo { z-index: 2; text-align: center; } .videoBackground .overlay { content: ""; position: absolute; top: 0; right: 0; bottom: 0; left: 0; background: #000; z-index: 1; } .videoBackground .videoBoxInfoBtn, .videoBackground .imageBoxInfoBtn { -moz-user-select: none; -ms-user-select: none; -webkit-user-select: none; user-select: none; -webkit-appearance: none; -moz-appearance: none; appearance: none; display: inline-block; width: auto; text-decoration: none; text-align: center; vertical-align: middle; cursor: pointer; border: 1px solid transparent; border-radius: 2px; padding: 8px 15px; font-style: normal; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; white-space: normal; font-size: 14px; margin-top: 20px; } .videoBackground .videoBoxInfoTitle, .videoBackground .imageBoxInfoTitle { color: #FFF; font-size: 30px; line-height: 40px; } .videoBackground .videoBoxInfoDescription, .videoBackground .imageBoxInfoDescription { max-width: 500px; margin: 0 auto; } .videoBackground .videoBoxInfoDescription p, .videoBackground .imageBoxInfoDescription p { font-size: 18px; line-height: 28px; } .videoBackground .placeholderNoblocks { text-align: center; max-width: 500px; margin: 0 auto; } @media screen and (max-width: 767px) { body.template-index .main-content .videoBackground { margin-top: -35px; } .videoBackground .fullscreen-video-wrap { z-index: 3; } .videoBackground .videoBox { min-height: 500px; height: 100%; position: relative; padding: 0; } .videoBackground .fullscreen-video-wrap { position: relative; min-height: 300px; } .videoBackground .videoBoxInfo { padding: 40px 20px; background: #000; width: 100%; } }

{% schema %}
{
“name”: {
“en”: “Video Background”
},
“class”: “videoBackground”,
“max_blocks”: 1,
“blocks”: [
{
“type”: “video”,
“name”: “Video”,
“settings”: [
{
“type”: “url”,
“id”: “video_link”,
“label”: {
“en”: “Video link”
}
},
{
“type”: “image_picker”,
“id”: “video_image”,
“label”: {
“en”: “Cover image”
}
},
{
“type”: “range”,
“id”: “overlay_opacity”,
“label”: {
“en”: “Overlay opacity”
},
“min”: 0,
“max”: 99,
“step”: 1,
“unit”: {
“en”: “%”
},
“default”: 0
},
{
“type”: “header”,
“content”: {
“en”: “Text”
}
},
{
“type”: “text”,
“id”: “title”,
“label”: {
“en”: “Heading”
},
“default”: “Video slide”
},
{
“type”: “richtext”,
“id”: “text”,
“label”: {
“en”: “Description”
},
“default”: {
“en”: “

Use this text to share information about your brand with your customers. Describe a product, share announcements, or welcome customers to your store.


}
},
{
“type”: “color”,
“id”: “color_text”,
“label”: {
“en”: “Text color”
},
“default”: “#ffffff
},
{
“type”: “text”,
“id”: “button_label”,
“label”: {
“en”: “Button label”
}
},
{
“type”: “url”,
“id”: “button_link”,
“label”: {
“en”: “Button link”
}
},
{
“type”: “color”,
“id”: “color_btn_bg”,
“label”: {
“en”: “Background button color”
},
“default”: “#ffffff
},
{
“type”: “color”,
“id”: “color_btn_text”,
“label”: {
“en”: “Button text color”
},
“default”: “#ffffff
}
]
},
{
“type”: “image”,
“name”: “Image”,
“settings”: [
{
“type”: “color”,
“id”: “color_bg”,
“label”: {
“en”: “Background color (optional)”
},
“default”: “#16165b
},
{
“type”: “image_picker”,
“id”: “image_bg”,
“label”: {
“en”: “or use an image (required)”
}
},
{
“type”: “range”,
“id”: “overlay_opacity”,
“label”: {
“en”: “Overlay opacity”
},
“min”: 0,
“max”: 99,
“step”: 1,
“unit”: {
“en”: “%”
},
“default”: 0
},
{
“type”: “header”,
“content”: {
“en”: “Text”
}
},
{
“type”: “text”,
“id”: “title”,
“default”: “Image slide”,
“label”: {
“en”: “Heading”
}
},
{
“type”: “richtext”,
“id”: “text”,
“label”: {
“en”: “Description”
},
“default”: {
“en”: “

Use this text to share information about your brand with your customers. Describe a product, share announcements, or welcome customers to your store.


}
},
{
“type”: “color”,
“id”: “color_text”,
“label”: {
“en”: “Text color”
},
“default”: “#ffffff
},
{
“type”: “text”,
“id”: “button_label”,
“label”: {
“en”: “Button label”
}
},
{
“type”: “url”,
“id”: “button_link”,
“label”: {
“en”: “Button link”
}
},
{
“type”: “color”,
“id”: “color_btn_bg”,
“label”: {
“en”: “Background button color”
},
“default”: “#ffffff
},
{
“type”: “color”,
“id”: “color_btn_text”,
“label”: {
“en”: “Button text color”
},
“default”: “#ffffff
}
]
}
],
“presets”: [
{
“name”: {
“en”: “Video Background”
},
“category”: {
“en”: “Main”
},
“blocks”: [
{
“type”: “video”
}
]
}
]
}
{% endschema %}

1 Like

Hi @Marco_a

Would you mind to share your Store URL website? with password if its unpublish. Thanks!

1 Like

Sure.

www.funkyflux.com

1 Like

Thanks, check this one.

From your Shopify admin dashboard, click on “Online Store” and then “Themes”.

Find the theme that you want to edit and click on “Actions” and then “Edit code”.

In the “Assets” folder, click on “base.css, style.css or theme.css” file, depending on which file your theme uses to store its CSS styles. At the bottom of the file, add the following CSS code:

@media screen and (max-width: 767px){
.videoBackground .videoBoxInfo {
    padding: 0px !important;
}
.videoBackground .videoBox {
    justify-content: center !important;
}
}

And Save.

Result:

Please don’t forget to Like and Mark Solution to the post that helped you. Thanks!

Hey Made4uo. It does work for desktops. However, on mobile devices, the black border remains.

Hi @Marco_a

This is Henry from PageFly - Landing Page Builder App

You can try this code by following these steps:

Step 1: Go to Online Store->Theme->Edit code.

Step 2: Search file theme.liquid

Step 3: paste bellow code in tag → save.

@media (max-width: 767px){ .videoBoxInfo { padding: 0 !important; } .videoBox {min-height: 300px !important;} }

Hope that my solution works for you.

Best regards,

Henry | PageFly