<style>
:root {
--marquee-width: 100%;
--marquee-elements-displayed: {{ displayed.xs }};
--marquee-element-width: calc((var(--marquee-width) ) / var(--marquee-elements-displayed));
--marquee-animation-duration: calc(var(--marquee-elements) * {{ speed }}s);
}
.marquee {
width: var(--marquee-width);
color: #eee;
overflow: hidden;
position: relative;
}
.marquee-content {
margin: 0;
padding: 0;
list-style: none;
height: 100%;
display: flex;
animation: scrolling var(--marquee-animation-duration) linear infinite;
}
.marquee-content:hover {
animation-play-state: paused;
}
@keyframes scrolling {
0% { transform: translateX(0); }
100% { transform: translateX(calc(-1 * var(--marquee-element-width) * var(--marquee-elements))); }
}
.marquee-content li {
display: flex;
justify-content: center;
align-items: center;
flex-shrink: 0;
width: var(--marquee-element-width);
max-height: 100%;
white-space: nowrap;
}
.marquee-content li div {
display: block;
border-left: 1px solid transparent;
border-right: 1px solid #ccc;
padding: 0 20%;
width: 100%;
text-align: center;
}
@media (min-width: 576px) {
:root {
--marquee-elements-displayed: {{ displayed.sm }};
}
}
@media (min-width: 768px) {
:root {
--marquee-elements-displayed: {{ displayed.md }};
}
}
@media (min-width: 992px) {
:root {
--marquee-elements-displayed: {{ displayed.lg }};
}
}
@media (min-width: 1200px) {
:root {
--marquee-elements-displayed: {{ displayed.xl }};
}
}
@media (min-width: 1400px) {
:root {
--marquee-elements-displayed: {{ displayed.xxl }};
}
}
</style>
<div class="marquee">
<ul class="marquee-content">
{% for url,image in partenaires %}
<li>
<div>
{% if url != '' %}
<a href="{{ url }}" target="_blank"><img class="img-fluid" src="{{ asset('assets/media/accueil/partenaires_2/' ~ image) }}" /></a>
{% else%}
<img class="img-fluid" src="{{ asset('assets/media/accueil/partenaires_2/' ~ image) }}" />
{% endif %}
</div>
</li>
{% endfor %}
</ul>
</div>
<script>
const root = document.documentElement;
const marqueeElementsDisplayed = getComputedStyle(root).getPropertyValue("--marquee-elements-displayed");
const marqueeContent = document.querySelector(".marquee-content");
root.style.setProperty("--marquee-elements", marqueeContent.children.length);
for(let i=0; i<marqueeElementsDisplayed; i++) {
marqueeContent.appendChild(marqueeContent.children[i].cloneNode(true));
}
</script>