bootstrap icon indicating copy to clipboard operation
bootstrap copied to clipboard

[css] carousel buttons error in RTL

Open Mohamed-Anes opened this issue 2 years ago • 3 comments

Prerequisites

Describe the issue

In RTL bootstrap carousel, prev and next buttons have inverted functions, prev takes to next and next takes to previous. It can be seen in the official bootstrap rtl carousel example

Reduced test cases

https://getbootstrap.com/docs/5.2/examples/carousel-rtl/

The fix I found is inverting the 'translateX()' values in the bootstrao.rtl.css file (and by extension other files using the same css code)

--Code before change:

.carousel-item-next:not(.carousel-item-start),
.active.carousel-item-end {
  transform: translateX(100%);
}

.carousel-item-prev:not(.carousel-item-end),
.active.carousel-item-start {
  transform: translateX(-100%);
}

--Code after change:

.carousel-item-next:not(.carousel-item-start),
.active.carousel-item-end {
  transform: translateX(-100%);
}

.carousel-item-prev:not(.carousel-item-end),
.active.carousel-item-start {
  transform: translateX(100%);
}

This section of code begins in the file bootstrap.rtl.css at line 5847 as of the current version https://github.com/twbs/bootstrap/blob/d0117a17d807df05dfd6f6ce72a0d63f081ca529/dist/css/bootstrap.rtl.css#L5847

What operating system(s) are you seeing the problem on?

Windows

What browser(s) are you seeing the problem on?

Chrome

What version of Bootstrap are you using?

v5.0.2

Mohamed-Anes avatar Sep 20 '22 11:09 Mohamed-Anes

What do you expect exactly?

RTL carousel first item is on the right and the last on the left, next button is on the left and prev on the right. I think that's the intended behavior for this feature. Am I missing something?

ffoodd avatar Sep 20 '22 16:09 ffoodd

@ffoodd, if you compare the carousel examples (the normal one with the RTL one), you see that

  • in the normal: pressing the left button takes you to the slide on the left of the current one (all images move to the right)

  • in RTL one: pressing the left button takes you to the slide on the right of the current one (all images move to the left)

  • normal one: https://getbootstrap.com/docs/5.2/examples/carousel/

  • RTL one: https://getbootstrap.com/docs/5.2/examples/carousel-rtl/

Mohamed-Anes avatar Sep 20 '22 17:09 Mohamed-Anes

Aah yeah I see, in LTR translate follows arrows but in RTL it goes to the opposite.

ffoodd avatar Sep 20 '22 17:09 ffoodd