Bootstrap responsive video autoplay

❮ HTML tag

A video that will automatically start playing:

      Your browser does not support the video tag.

Try it Yourself »

Definition and Usage

The autoplay attribute is a boolean attribute.

When present, the video will automatically start playing.

Note: Chromium browsers do not allow autoplay in most cases. However, muted autoplay is always allowed.

Add muted after autoplay to let your video file start playing automatically [but muted]. 

Browser Support

The numbers in the table specify the first browser version that fully supports the attribute.

Attribute
autoplay 4.0 9.0 3.5 3.1  11.5

Syntax

❮ HTML tag

Topic: Bootstrap / Sass

Answer: Add Remove Video Source URL with JavaScript

If try to autoplay YouTube video embedded inside Bootstrap modal through appending the video source url i.e. src attribute value with ?autoplay=1 it will not work properly, because video is started playing before the modal is displayed.

To solve this problem you can add or remove the YouTube video source url based on whether the Bootstrap modal is displayed or not using the JavaScript. Let's see how it works:

Autoplay YouTube Video in Bootstrap Modal .modal-content iframe{ margin: 0 auto; display: block; } $[document].ready[function[]{ /* Get iframe src attribute value i.e. YouTube video url and store it in a variable */ var url = $["#cartoonVideo"].attr['src']; /* Remove iframe src attribute on page load to prevent autoplay in background */ $["#cartoonVideo"].attr['src', '']; /* Assign the initially stored url back to the iframe src attribute when modal is displayed */ $["#myModal"].on['shown.bs.modal', function[]{ $["#cartoonVideo"].attr['src', url]; }]; /* Assign empty url value to the iframe src attribute when modal hide, which stop the video playing */ $["#myModal"].on['hide.bs.modal', function[]{ $["#cartoonVideo"].attr['src', '']; }]; }];

Launch Demo Modal
YouTube Video ×

Related FAQ

Here are some more FAQ related to this topic:

Is your industrial website SEO optimized?

Get a free SEO performance analysis and grade.

Analyze My Website

  • Updated on June 4th, 2019
  • read

In order to make your HTML5 video responsive you will need to add the following CSS style properties: width: 100%, and max-height: 100%.

Your browser does not support the video tag.

  

  Your browser does not support the video tag.

I tried to find a good solution on the bootstrap site but I didn't get an answer to this yet. I think I can't be the only one struggling with this, but I couldn't find anything that helped me.

I'm trying to embed an mp4-video on my website. The problem is, that if I use an iframe-tag I can't use autoplay and loop. Because of that I would like to solve it with a video tag [or something else that supports autoplay and loop]. After that I tried to make my video responsive with an object-tag but this didn't work. Even though I let it in my code [to show you] which you can see below:

I hope anyone of you can help me fix this.

2

All of the components and features are a part of the MDBootstrap package.

MDBootstrap [Material Design for Bootstrap] is an MIT Licensed framework - free for personal & commercial use.

It combines the esthetic of Material Design and the functionalities of the newest Bootstrap.

Click on the button below to visit the Getting Started Page, where you can download the latest MDBootstrap package.

MDBootstrap Download MDBootstrap About

Using components and features labeled as MDB Pro component requires the MDB Pro package - a powerful UI Kit containing over 10,000 components, dozens of plugins and much more cool features.

Click the button below to learn more about the MDBootstrap Pro package.

MDBootstrap Pro

To reduce the weight of MDBootstrap package even more, you can compile your own, custom package containing only those components and features that you need.

If you need additional help with compiling your custom package, please use our Compilation & Customization tutorial.

Compilation & Customization tutorial

Map of dependencies of SCSS files in MDBootstrap:

Legend: '-->' means 'required' All free and pro files require files from 'core' catalog 'none' means 'this component doesn't require anything except core files' A file wrapped by `< >` means that this file make the base component prettier but it isn't necessary for the proper working All PRO components require 'pro/_variables.scss' file scss/ | |-- core/ | | | |-- bootstrap/ | | |-- _functions.scss | | |-- _variables.scss | | | |-- _colors.scss | |-- _global.scss | |-- _helpers.scss | |-- _masks.scss | |-- _mixins.scss | |-- _typography.scss | |-- _variables.scss | |-- _waves.scss | |-- free/ | |-- _animations-basic.scss --> none | |-- _animations-extended.scss --> _animations-basic.scss | |-- _buttons.scss --> none | |-- _cards.scss --> none | |-- _dropdowns.scss --> none | |-- _input-group.scss --> _forms.scss, _buttons.scss, _dropdowns.scss | |-- _navbars.scss --> none | |-- _pagination.scss --> none | |-- _badges.scss --> none | |-- _modals.scss --> _buttons.scss, _forms.scss [PRO --> _tabs.scss] | |-- _carousels.scss --> | |-- _forms.scss --> none | |-- _msc.scss --> none | |-- _footers.scss none [PRO: ] | |-- _list-group.scss --> none | |-- _tables.scss --> none [PRO: _material-select.scss, pro/_forms.scss, _checkbox.scss, pro/_buttons.scss, pro/_cards.scss, _pagination.scss, pro/_msc.scss] | |-- _depreciated.scss | |-- pro/ | | | |-- picker/ | | |-- _default.scss --> none | | |-- _default-time.scss --> _default.scss, free/_forms.scss, free/_buttons.scss, pro/_buttons.scss, free/_cards.scss | | |-- _default-date.scss --> _default.scss, free/_forms.scss | | | |-- sections/ | | |-- _templates.scss --> _sidenav.scss | | |-- _social.scss --> free/_cards.scss, free/ _forms.scss, free/_buttons.scss, pro/_buttons.scss, | | |-- _team.scss --> free/_buttons.scss, pro/_buttons.scss, free/_cards.scss, pro/_cards.scss | | |-- _testimonials.scss --> free/_carousels.scss, pro/_carousels.scss, free/_buttons.scss, pro/_buttons.scss | | |-- _magazine.scss --> _badges.scss | | |-- _pricing.scss --> free/_buttons.scss, pro/_buttons.scss | | |-- _contacts.scss --> free/_forms.scss, pro/_forms.scss, free/_buttons.scss, pro/_buttons.scss | | | |-- _variables.scss | |-- _buttons.scss --> free/_buttons.scss, pro/_msc.scss, _checkbox.scss, _radio.scss | |-- _social-buttons.scss --> free/_buttons.scss, pro/_buttons.scss | |-- _tabs.scss --> _cards.scss | |-- _cards.scss --> free/_cards.scss | |-- _dropdowns.scss --> free/_dropdowns.scss, free/_buttons.scss | |-- _navbars.scss --> free/_navbars.scss [PRO: ] | |-- _scrollspy.scss --> none | |-- _lightbox.scss --> none | |-- _chips.scss --> none | |-- _msc.scss --> none | |-- _forms.scss --> none | |-- _radio.scss --> none | |-- _checkbox.scss --> none | |-- _material-select.scss --> none | |-- _switch.scss --> none | |-- _file-input.scss --> free/_forms.scss, free/_buttons.scss | |-- _range.scss --> none | |-- _input-group.scss --> free/_input-group.scss and the same what free input group, _checkbox.scss, _radio.scss | |-- _autocomplete.scss --> free/_forms.scss | |-- _accordion.scss --> pro/_animations.scss, free/_cards.scss | |-- _parallax.scss --> none | |-- _sidenav.scss --> free/_forms.scss, pro/_animations.scss, sections/_templates.scss | |-- _ecommerce.scss --> free/_cards.scss, pro/_cards.scss, free/_buttons.scss, pro/_buttons.scss, pro/_msc.scss | |-- _carousels.scss --> free/_carousels.scss, free/_cards.scss, free/_buttons.scss | |-- _steppers.scss --> free/_buttons.scss | |-- _blog.scss --> none | |-- _toasts.scss --> free/_buttons.scss | |-- _animations.scss --> none | |-- _charts.scss --> none | |-- _progress.scss --> none | |-- _scrollbar.scss --> none | |-- _skins.scss --> none | |-- _depreciated.scss | `-- _custom-skin.scss `-- _custom-styles.scss `-- _custom-variables.scss `-- mdb.scss

Map of dependencies of JavaScript modules in MDBootstrap:

Legend: '-->' means 'required' All files require jQuery and bootstrap.js js/ ├── dist/ │   ├── buttons.js │   ├── cards.js │   ├── character-counter.js │   ├── chips.js │   ├── collapsible.js --> vendor/velocity.js │   ├── dropdown.js --> Popper.js, jquery.easing.js │   ├── file-input.js │   ├── forms-free.js │   ├── material-select.js --> dropdown.js │   ├── mdb-autocomplete.js │   ├── preloading.js │   ├── range-input.js --> vendor/velocity.js │   ├── scrolling-navbar.js │   ├── sidenav.js --> vendor/velocity.js, vendor/hammer.js, vendor/jquery.hammer.js │   └── smooth-scroll.js ├── _intro-mdb-pro.js ├── modules.js ├── src/ │   ├── buttons.js │   ├── cards.js │   ├── character-counter.js │   ├── chips.js │   ├── collapsible.js --> vendor/velocity.js │   ├── dropdown.js --> Popper.js, jquery.easing.js │   ├── file-input.js │   ├── forms-free.js │   ├── material-select.js --> dropdown.js │   ├── mdb-autocomplete.js │   ├── preloading.js │   ├── range-input.js --> vendor/velocity.js │   ├── scrolling-navbar.js │   ├── sidenav.js --> vendor/velocity.js, vendor/hammer.js, vendor/jquery.hammer.js │   └── smooth-scroll.js └── vendor/ ├── addons/ │   ├── datatables.js │   └── datatables.min.js ├── chart.js ├── enhanced-modals.js ├── hammer.js ├── jarallax.js ├── jarallax-video.js --> vendor/jarallax.js ├── jquery.easing.js ├── jquery.easypiechart.js ├── jquery.hammer.js --> vendor/hammer.js ├── jquery.sticky.js ├── lightbox.js ├── picker-date.js --> vendor/picker.js ├── picker.js ├── picker-time.js --> vendor/picker.js ├── scrollbar.js ├── scrolling-navbar.js ├── toastr.js ├── velocity.js ├── waves.js └── wow.js

Apart from the standard Bootstrap integration [using jQuery], MDBootstrap also integrates with Angular, React and Vue.

About MDB Angular About MDB React About MDB Vue

MDBootstrap is a platform for web creators and MDB packages are only a part of it.

If you sign up you'll gain free access to other useful tools & resources including:

  • Community developed components & design projects
  • Technical support & community forum
  • CLI interface & free project hosting
  • Helpful articles & news agregators

...and much more!

Don't hesitate and sign up now!

Sign up now

Video liên quan

Chủ Đề